Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fifony) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
fifony
AI agents that actually ship code. You just watch.
Point at a repo. Open the dashboard. AI plans, builds, and reviews — you approve and merge.
Quick Start
npx -y fifonyOpen http://localhost:4000. The first run launches the onboarding wizard — it detects your CLIs, scans your project, and configures everything in six steps. State lives in .fifony/. No accounts, no cloud, no external database.
How It Works
fifony auto-detects your installed CLI tools (Claude, Codex, Gemini) and routes each pipeline stage to the best available provider. Configure per-stage provider, model, and reasoning effort in the Settings UI or drop a WORKFLOW.md in your project root.
Issue Lifecycle
stateDiagram-v2
[*] --> Planning
Planning --> Planned: PLANNED
Planned --> Queued: QUEUE
Queued --> Running: RUN
Running --> Reviewing: REVIEW
Reviewing --> Reviewed: REVIEWED
Reviewed --> Done: DONE
Done --> Merged: MERGE
Running --> Blocked: BLOCK
Reviewing --> Blocked: BLOCK
Blocked --> Queued: UNBLOCK
Blocked --> Planning: REPLAN
Reviewed --> Queued: REQUEUE (rework)
Reviewed --> Planning: REPLAN
Done --> Planning: REOPEN
Merged --> Planning: REOPEN
Planning --> Cancelled: CANCEL
Planned --> Cancelled: CANCEL
Reviewed --> Cancelled: CANCEL
Blocked --> Cancelled: CANCEL
Cancelled --> Planning: REOPEN
Merged --> [*]
Cancelled --> [*]| Step | What happens |
|---|---|
| Create | Describe what you want done. |
| Plan | The planner agent generates a structured execution plan: phases, steps, target files, complexity, risks. |
| Approve | You review the plan. Optionally refine it with AI chat before approving. |
| Execute | Agents run in an isolated git worktree. Live output streams to the dashboard. |
| Review | The reviewer agent inspects the diff and either approves, requests rework, or blocks. |
| Done | Approved and waiting for merge. You review the diff in the dashboard. |
| Merge | You merge the worktree into your project. Analytics capture lines added/removed. |
Agents run as detached child processes, tracked by PID. If the server restarts mid-run, fifony recovers on the next boot.
Onboarding Wizard
The first run walks you through six steps:
| Step | What happens |
|---|---|
| CLI Detection | Finds claude, codex, gemini, git, node, docker, and other tools on your system |
| Project Scan | Detects language, stack, and build system — 18+ ecosystems supported |
| AI Analysis | Uses the detected CLI to extract domain context from your codebase |
| Domains | 21 options across Technical / Industry / Role, pre-selected by the AI |
| Agents & Skills | Catalog of 15 agents and 5 skills, auto-recommended for your domains |
| Effort & Workers | Per-stage reasoning effort, worker concurrency, and visual theme |
Settings are saved progressively and can be re-run from Settings at any time.
Dashboard
| Route | What you see |
|---|---|
/kanban |
Drag-and-drop board with 5 columns: Planning, In Progress, Reviewing, Blocked, Done. |
/issues |
Searchable list with multi-state filters, sort options, and capability filters. |
/agents |
Live cockpit: worker slots, queue depth, real-time log tail, token sparklines per agent. |
/analytics |
Token usage trends, daily and weekly rollups, top issues by cost, per-model breakdown. |
/settings |
General, Workflow pipeline config, Notifications, Providers. |
The Issue Detail Drawer shows the full plan (phases and steps), all execution sessions, the workspace diff, and a per-phase token breakdown — Plan / Execute / Review — with input and output counts per model.
PWA
Install as a desktop app. Works offline. Desktop notifications when issues change state. Service worker with stale-while-revalidate caching.
Agent & Skill Catalog
fifony ships with 15 specialist agents:
| Agent | Focus |
|---|---|
| Frontend Developer | React, Vue, CSS, responsive design |
| Backend Architect | APIs, microservices, scalable systems |
| Database Optimizer | Schema design, query optimization, indexing |
| Security Engineer | OWASP, threat modeling, secure code review |
| DevOps Automator | CI/CD, Docker, Kubernetes, cloud infrastructure |
| Mobile App Builder | iOS, Android, React Native, Flutter |
| AI Engineer | ML models, LLM integration, data pipelines |
| UI Designer | Visual design, component libraries, design systems |
| UX Architect | UX patterns, accessibility, information architecture |
| Code Reviewer | Code quality, best practices, constructive feedback |
| Technical Writer | Docs, READMEs, API references, tutorials |
| SRE | Reliability, observability, incident response |
| Data Engineer | ETL, data warehousing, analytics infrastructure |
| Software Architect | System design, DDD, architectural patterns |
| Game Designer | Game mechanics, level design, cross-engine |
And 5 skills: commit, review-pr, debug, testing, impeccable (frontend design system).
Agents install to .claude/agents/ and .codex/agents/ during onboarding. Skills load from SKILL.md files in .claude/skills/, .codex/skills/, or your home directory. fifony infers the right agent from the issue description and target file paths — capability routing is automatic.
CLI Reference
# Dashboard + API (default port 4000)
npx -y fifony
# Custom port
npx -y fifony --port 8080
# With Vite HMR for frontend development
npx -y fifony --dev
# MCP server (stdio)
npx -y fifony mcp
# Different workspace
npx -y fifony --workspace /path/to/repo
# Run one scheduler cycle and exit
npx -y fifony --once
# Fine-grained control
npx -y fifony --concurrency 2 --attempts 3 --poll 500
# Onboarding reference repositories
fifony onboarding list
fifony onboarding sync
fifony onboarding sync --repository ring
fifony onboarding import ring --kind skills
fifony onboarding import agency-agents --kind agents --overwriteMCP Server
Use fifony as tools inside your editor:
npx -y fifony mcp --workspace /path/to/repoAdd to claude_desktop_config.json or VS Code settings:
{
"mcpServers": {
"fifony": {
"command": "npx",
"args": ["-y", "fifony", "mcp", "--workspace", "/path/to/repo"]
}
}
}Resources: state summary, all issues, workflow config, runtime guide, per-issue detail
Tools: fifony.status, fifony.list_issues, fifony.create_issue, fifony.update_issue_state, fifony.integration_config
Prompts: fifony-integrate-client, fifony-plan-issue, fifony-review-workflow
REST API
Interactive docs at http://localhost:4000/docs.
| Endpoint | Description |
|---|---|
GET /api/state |
Full runtime state: issues, metrics, config |
POST /api/issues/create |
Create an issue |
POST /api/issues/enhance |
AI-enhance title and description |
POST /api/issues/:id/plan |
Generate execution plan |
POST /api/issues/:id/plan/refine |
Refine plan with chat feedback |
POST /api/issues/:id/approve |
Approve plan, start execution |
POST /api/issues/:id/merge |
Merge workspace to project root |
GET /api/live/:id |
Live agent output: PID, log tail, elapsed time |
GET /api/diff/:id |
Git diff of workspace changes |
GET /api/config/workflow |
Pipeline workflow configuration |
GET /api/analytics/tokens |
Token usage summary |
GET /api/analytics/hourly |
Hourly usage buckets (48h retention) |
GET /api/providers |
Detected providers and availability |
GET /api/catalog/agents |
Agent catalog, filterable by domain |
POST /api/install/agents |
Install agents to project |
/ws |
WebSocket for real-time state updates |
Configuration
fifony reads a WORKFLOW.md in your project root if present. Front matter configures the pipeline; the Markdown body defines the execution contract. Settings from the UI write to .fifony/s3db/.
Environment variables (all optional when using the UI or WORKFLOW.md):
FIFONY_WORKSPACE_ROOT=/path/to/repo
FIFONY_PERSISTENCE=/path/to/state # defaults to $FIFONY_WORKSPACE_ROOT
FIFONY_AGENT_PROVIDER=codex # codex | claude
FIFONY_WORKER_CONCURRENCY=2
FIFONY_MAX_ATTEMPTS=3
FIFONY_AGENT_MAX_TURNS=4
FIFONY_LOG_FILE=0 # set to 1 to also write .fifony/fifony-local.logArchitecture
.fifony/
s3db/ ← durable database (issues, events, sessions, settings)
source/ ← project snapshot used for workspace seeding
workspaces/ ← isolated per-issue execution directories (git worktrees)- State machine (single source of truth): States, guarded transitions, actions, and triggers are centralized in
issue-state-machine.ts. All side effects (events, field mutations, EC tracking) happen in FSM entry actions. - Persistence (s3db.js): Issues, events, sessions, and settings are first-class resources. No external DB required.
- Eventual consistency analytics:
EventualConsistencyPlugintrackslinesAdded,linesRemoved,filesChanged, token usage, and event counts with daily cohort rollups. - Queue workers:
S3QueuePlugindispatches planning/execution/review jobs to concurrent workers. - Agent abstraction: Wraps local CLIs (Claude, Codex, Gemini), not proprietary model logic. Per-stage provider/model/effort configuration.
- Per-issue isolation: Each issue gets its own git worktree branch. No file conflicts, safe parallel work.
- Capability routing: Issue labels derived from text and file paths drive automatic provider/agent selection.
Requirements
- Node.js 23 or newer
- At least one of:
claudeCLI,codexCLI,geminiCLI
Credits
fifony is built on the shoulders of:
- OpenAI Codex CLI — Original foundation (Apache 2.0). See NOTICE and THIRD-PARTY-NOTICES.md.
- Agency Agents — Inspiration for the agent catalog.
- Impeccable — Frontend design skill by Paul Bakaus.
- s3db.js — Filesystem persistence layer.
- DaisyUI — Dashboard component library.
License
Apache License 2.0 — see LICENSE for details.
This project includes code from OpenAI Codex CLI. See NOTICE for attribution.