Skip to content

Quick Start

SWEny is a platform for building AI-powered engineering workflows that follow a Learn → Act → Report pattern. SWEny Triage is the first recipe — it monitors your observability logs, investigates issues, creates tickets, and opens fix PRs. This guide walks through setting it up.

That’s all you need to get started. SWEny uses GitHub Issues by default — no extra issue tracker setup required.

Create .github/workflows/sweny-triage.yml in your repository:

name: SWEny Triage
on:
workflow_dispatch: # Manual trigger
permissions:
contents: read
issues: write
jobs:
triage:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: swenyai/sweny@v0.2
with:
claude-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
dd-api-key: ${{ secrets.DD_API_KEY }}
dd-app-key: ${{ secrets.DD_APP_KEY }}
dry-run: true

In your repository Settings → Secrets and variables → Actions, add:

SecretWhere to get it
CLAUDE_CODE_OAUTH_TOKENClaude Max subscription → OAuth token
DD_API_KEYDatadog → Organization Settings → API Keys
DD_APP_KEYDatadog → Organization Settings → Application Keys

Why Claude Max? Predictable monthly cost — no per-token billing surprises. If you prefer pay-per-use, swap claude-oauth-token for anthropic-api-key with an Anthropic API key.

Go to the Actions tab, select “SWEny Triage”, and click Run workflow.

SWEny will analyze your Datadog logs and post a full investigation report in the GitHub Actions summary — no tickets, no PRs, just analysis. Review the output to see what it finds.

Once you’re happy with the investigation quality, remove dry-run, add write permissions, and put it on a schedule:

name: SWEny Triage
on:
schedule:
- cron: '0 6 * * 1,4' # Mon & Thu at 6 AM UTC
workflow_dispatch:
permissions:
contents: write
pull-requests: write
issues: write
jobs:
triage:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: swenyai/sweny@v0.2
with:
claude-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
dd-api-key: ${{ secrets.DD_API_KEY }}
dd-app-key: ${{ secrets.DD_APP_KEY }}

SWEny will now automatically investigate errors, create GitHub Issues with root cause analysis, write fixes, and open PRs.

Swap out the Datadog inputs for your provider. See Observability Providers for Sentry, CloudWatch, Splunk, Elasticsearch, New Relic, and Loki configuration.

Want Linear or Jira instead of GitHub Issues?

Section titled “Want Linear or Jira instead of GitHub Issues?”

Set issue-tracker-provider and add the relevant credentials:

# Linear
- uses: swenyai/sweny@v0.2
with:
claude-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
dd-api-key: ${{ secrets.DD_API_KEY }}
dd-app-key: ${{ secrets.DD_APP_KEY }}
issue-tracker-provider: 'linear'
linear-api-key: ${{ secrets.LINEAR_API_KEY }}
linear-team-id: ${{ vars.LINEAR_TEAM_ID }}

See Issue Tracking Providers for full Linear, Jira, and GitHub Issues configuration.

  • Provider Architecture — understand how SWEny’s plugin system works
  • Action Inputs — configure time ranges, severity filters, investigation depth
  • Examples — service filtering, specific issues, cross-repo dispatch