sweny

SWEny enables AI workflows as code, creating reliable directed acyclic graphs (DAGs) from plain English descriptions.

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/logo-lockup-light.svg" /> <source media="(prefers-color-scheme: light)" srcset="assets/logo-lockup-dark.svg" /> <img src="assets/logo-lockup-dark.svg" alt="SWEny" width="280" /> </picture> </p> <p align="center"> <strong>AI workflows as code. Describe what you want, get a reliable DAG.</strong> </p> <p align="center"> <a href="https://github.com/swenyai/sweny/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/swenyai/sweny/ci.yml?style=flat-square&label=CI" /></a> <a href="https://www.npmjs.com/package/@sweny-ai/core"><img alt="npm" src="https://img.shields.io/npm/v/@sweny-ai/core?style=flat-square&color=orange" /></a> <a href="https://github.com/swenyai/sweny/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/swenyai/sweny?style=flat-square" /></a> <a href="https://docs.sweny.ai"><img alt="Docs" src="https://img.shields.io/badge/docs-docs.sweny.ai-blue?style=flat-square" /></a> <a href="https://marketplace.sweny.ai"><img alt="Marketplace" src="https://img.shields.io/badge/Workflows-marketplace.sweny.ai-blueviolet?style=flat-square" /></a> </p>

Quickstart

npx create-sweny            # pick a workflow → auto-detects providers → done
sweny workflow run .sweny/workflows/pr-review.yml

Or if you already have @sweny-ai/core installed:

sweny new

Already have a .sweny.yml? sweny new adds additional workflows non-destructively.

Build a workflow from scratch — pick "Describe your own" in the sweny new picker, or:

sweny workflow create "review PRs for security issues and code quality"
sweny workflow run .sweny/workflows/pr-review.yml

# Visualize any workflow as a Mermaid diagram — drop it into a PR or README
sweny workflow diagram .sweny/workflows/pr-review.yml -o pr-review.mmd

Keep the CLI current:

sweny upgrade          # pulls the latest @sweny-ai/core via your package manager
sweny upgrade --check  # dry-run: just report the available version

Browse marketplace.sweny.ai for ready-to-run workflows.

What it does

Describe a task in plain English. SWEny builds a DAG of focused AI agents — each node gets scoped tools, structured output, and conditional routing. Every tool call is tracked.

$ sweny workflow create "audit our repo for security issues, \
    scan dependencies, and create Linear tickets for anything critical"

  GitHub Security Audit

  o Scan Recent Commits for Exposed Secrets
  |
  +---> o Review Open PRs for Security Changes
  +---> o Scan Dependencies for Vulnerabilities
       |
  o Compile Security Posture Report
  |
  o Create Linear Tickets for Critical Findings

  Save to .sweny/workflows/github_security_audit.yml? [Y/n/refine]

Use it anywhere

SurfaceWhat it does
CLIBuild, run, and publish workflows from your terminal
GitHub ActionRun any workflow on CI — plus dedicated triage and e2e actions
StudioVisual DAG editor and live execution monitor
Claude Code PluginSlash commands, MCP tools, and an isolated workflow agent
MarketplaceBrowse, fork, and share community workflows

Custom skills

Extend any workflow with your own skills. Create a SKILL.md with instructions or wire up an MCP server:

.sweny/skills/code-standards/SKILL.md
---
name: code-standards
description: Team coding conventions for TypeScript
---

When reviewing TypeScript code:
- Use camelCase for variables and functions
- Every public function needs at least one test
- Mock at boundaries (HTTP, DB), not internal functions

Then reference it in any workflow node:

nodes:
  review:
    name: Code Review
    instruction: Review the pull request.
    skills: [code-standards, github]

Skills are cross-tool compatible — the same SKILL.md works in Claude Code, Codex, and Gemini CLI. Write once, use everywhere. Learn more.

Built-in skills

Set the credential, the skill is ready. No configuration.

SkillWhat it does
githubSearch code, read files, create issues, open PRs
linearCreate, search, and update issues
sentryQuery errors, issues, and stack traces
datadogQuery logs, metrics, and monitors
betterstackQuery incidents, monitors, and logs
slackSend messages via webhook or bot API
notificationDiscord, Teams, email, generic webhooks

GitHub Actions

# Run any workflow on CI
- uses: swenyai/sweny@v5
  with:
    workflow: .sweny/workflows/security-audit.yml
    claude-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
  env:
    LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}

Focused actions for common use cases:

ActionPurpose
swenyai/sweny@v5Run any workflow YAML
swenyai/triage@v1SRE triage — observability + issue tracker
swenyai/e2e@v1Agentic E2E browser tests

Cloud reporting (optional)

SWEny runs locally or in CI with zero phone-home behavior by default. To enable the cloud dashboard at cloud.sweny.ai:

  1. Sign up and link your repo — the GitHub App handles this in one click.
  2. Copy the CI reporting token from your project page (starts with sweny_pk_).
  3. Add it as a GitHub Actions secret named SWENY_CLOUD_TOKEN.
  4. Expose it to the Action:
- uses: swenyai/sweny@v5
  with:
    workflow: .sweny/workflows/security-audit.yml
    claude-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
  env:
    SWENY_CLOUD_TOKEN: ${{ secrets.SWENY_CLOUD_TOKEN }}

Without SWENY_CLOUD_TOKEN, the Action performs no network calls to sweny.ai. No anonymous telemetry, no pings, nothing.

See PRIVACY.md for the full data policy.

Publish to the marketplace

Share your workflows and skills with the community:

sweny publish   # interactive CLI — publish a workflow or skill

Packages

PackageDescription
@sweny-ai/coreSkills, DAG executor, CLI, workflows
create-swenynpx create-sweny — thin wrapper around sweny new
@sweny-ai/studioVisual DAG editor and execution monitor
@sweny-ai/mcpMCP server for Claude Code / Desktop

Links

Development

npm install          # install all dependencies
npm run build        # build all packages
npm test             # run all tests

License

MIT