حالت headless / CI
استفاده از AiraCode داخل GitHub Actions، GitLab CI، Jenkins، یا اسکریپتهای سرور.
پایهها
- پرچم
-p <prompt>یا--print: یک پرامپت، یک خروجی، تمام. AIRA_API_KEYرو بهجایaira loginست کن.--output-format jsonبرای خروجی قابل parse.--dangerously-skip-permissionsاگه میخوای بدون prompt تأیید toolها اجرا بشن (فقط روی CI sandboxed!).--bareبرای hermetic mode: نه keychain، نه global config، فقط env.
GitHub Actions
name: review
on: pull_request
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: curl -fsSL https://airachat.ir/install.sh | bash
- run: |
aira -p "این PR رو review کن. نکات امنیتی و bugها رو پیدا کن." \
--output-format json > review.json
env:
AIRA_API_KEY: ${{ secrets.AIRA_API_KEY }}
- run: |
gh pr comment $GITHUB_HEAD_REF --body-file review.jsonGitLab CI
review:
image: oven/bun:latest
script:
- curl -fsSL https://airachat.ir/install.sh | bash
- export PATH=$HOME/.bun/bin:$PATH
- aira -p "تستهای منطقی بنویس" --output-format json
variables:
AIRA_API_KEY: $AIRA_API_KEYامنیت روی CI
AIRA_API_KEYرو بهعنوان secret (encrypted) تنظیم کن، نه plain env var روی yaml.- روی GitHub Actions از
secrets.AIRA_API_KEYاستفاده کن. - توکن CI رو با scope محدود بساز (فقط
user:inference). برای ساختن: airachat.ir → Settings → Developer. - هرگز توکن رو بین branchها بهاشتراک نذار. هر CI job توکن خودش رو داشته باشه.
داخل Docker
FROM oven/bun:1.3
RUN curl -fsSL https://airachat.ir/install.sh | bash -s -- --direct
ENV PATH="/root/.bun/bin:${PATH}"
ENV AIRA_REMOTE_MEMORY=0
COPY . /app
WORKDIR /app
CMD ["aira", "-p", "/app/prompts/review.txt", "--output-format", "json"]