{"id":47638134,"url":"https://github.com/korchasa/flowai","last_synced_at":"2026-06-06T01:04:26.409Z","repository":{"id":323385875,"uuid":"1070140192","full_name":"korchasa/flowai","owner":"korchasa","description":"An Assisted Engineering framework: the developer remains the architect and reviewer, while AI handles implementation under supervision.","archived":false,"fork":false,"pushed_at":"2026-04-16T00:14:03.000Z","size":3475,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-16T02:25:14.672Z","etag":null,"topics":["claude","claude-code","cursor","cursor-ide","opencode","skills"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/korchasa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-05T10:55:34.000Z","updated_at":"2026-04-16T00:14:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/korchasa/flowai","commit_stats":null,"previous_names":["korchasa/ide-rules","korchasa/flow","korchasa/flowai"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/korchasa/flowai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korchasa%2Fflowai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korchasa%2Fflowai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korchasa%2Fflowai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korchasa%2Fflowai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/korchasa","download_url":"https://codeload.github.com/korchasa/flowai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korchasa%2Fflowai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31907720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","claude-code","cursor","cursor-ide","opencode","skills"],"created_at":"2026-04-02T00:27:52.438Z","updated_at":"2026-06-06T01:04:26.401Z","avatar_url":"https://github.com/korchasa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flowai\n\nAn Assisted Engineering framework: the human owns intent and decisions; AI implements the code **and reviews it**.\n\nThe developer initiates and reviews every decision above the level of individual classes/methods — business, architecture, key technical choices — without being required to read code. The agent reports upward in terms of requirements and the class/method structure it builds; diff-level review stays available but optional. The framework's purpose is to prevent **cognitive (mental) debt** — the silent erosion of the human's mental model when AI makes unsurfaced decisions.\n\n\u003e **The flowai project spans four sibling GitHub repositories:**\n\u003e - **this repo (`korchasa/flowai`)** — the framework: skills, commands, agents, packs.\n\u003e - **[`korchasa/flowai-cli`](https://github.com/korchasa/flowai-cli)** — the distribution CLI (`flowai` command). Bundles a SHA-256-pinned framework release tarball at publish time. Published to JSR as `@korchasa/flowai`.\n\u003e - **[`korchasa/flowai-workflow`](https://github.com/korchasa/flowai-workflow)** — universal DAG-based engine for orchestrating AI agents (YAML workflows, execution, validation, loops, resume). Published to JSR as `@korchasa/flowai-workflow`. Separate product, shares the flowai design philosophy.\n\u003e - **[`korchasa/flowai-experiments`](https://github.com/korchasa/flowai-experiments)** — parameterized empirical studies of AI agent platforms (e.g. max `CLAUDE.md`/`AGENTS.md` token budget at which an agent still follows an embedded rule). Informs framework design decisions.\n\n## The Assisted Engineering Paradigm\n\nAssisted Engineering is a development model where the human retains full authority over **every decision above the level of individual classes/methods** — business, architecture, design, key technical choices, final acceptance — while delegating implementation *and code review* to AI. The human is not required to read code: the agent reports upward in terms of requirements and the class/method structure it produces. Decisions above the class/method line are always initiated by the human; below it, the human trusts AI execution plus AI code review.\n\nThe model exists to prevent **cognitive (mental) debt** — the gap between what the system does and what the human understands it to do, which accrues silently whenever AI makes a decision the human never reviewed at any level.\n\n**Division of responsibility:**\n\n- **Developer (Intent owner: Architect + Decision-maker)**\n  - Defines goals, constraints, and product decisions\n  - Initiates every decision above class/method level\n  - Reviews and approves plans and architecture\n  - Reviews the agent's class/method-level narration (not the code)\n  - Accepts or rejects results by behavior\n\n- **AI Agent (Executor + Code reviewer)**\n  - Analyzes the codebase and gathers context\n  - Proposes implementation plans\n  - Writes code following approved decisions\n  - **Reviews its own code** and runs verification\n  - Surfaces every above-class/method decision upward for approval\n  - Narrates changes in class/method terms; keeps decision \u0026 architecture docs current\n\n**Control flow:**\n\n```\nDeveloper: sets task, decides direction\n    → AI: proposes plan + surfaces decisions above class/method level\n        → Developer: reviews plan/architecture, approves or adjusts\n            → AI: implements + reviews its own code, narrating in class/method terms\n                → Developer: reviews the narration (diff optional)\n                    → AI: commits approved changes\n```\n\n## Installation\n\nRequires [Deno](https://deno.land/) v2.x.\n\n```sh\ndeno install -g -A jsr:@korchasa/flowai\n\n# Recommended: install primitives once for all projects (user-level)\nflowai sync --global\n\n# Or install per-project (legacy, useful for team-wide or repo-tracked skills)\nflowai\n```\n\n### Global vs per-project\n\n`flowai` / `flowai sync` select the install scope via three mutually exclusive flags:\n\n- `--global` / `-g` — force global install into IDE user-level dirs (`~/.claude/`, `~/.cursor/`, `~/.config/opencode/`, `~/.codex/`, `~/.agents/skills/`). Config at `~/.flowai.yaml`. One sync updates every project at once.\n- `--local` / `-l` — force project-local install into `\u003ccwd\u003e/.{ide}/`. Config at `\u003ccwd\u003e/.flowai.yaml`. Use when you want team-wide skills tracked in the repo, or per-project overrides.\n- `--auto` — default. Auto-resolves scope by probing config files:\n  1. `\u003ccwd\u003e/.flowai.yaml` exists → project scope.\n  2. Otherwise `~/.flowai.yaml` exists → global scope (CLI prints `Using global config at ~/.flowai.yaml`).\n  3. Neither exists → CLI asks which scope to set up (defaults to global in `-y`).\n\n**Opting a project into local install:** create a `\u003ccwd\u003e/.flowai.yaml` (or run `flowai --local` to generate one). The mere presence of that file is the opt-in marker — subsequent runs without flags will use it.\n\nFramework primitives MAY declare `scope: project-only` or `scope: global-only` in their SKILL.md frontmatter; the filter runs automatically. `/update` has no scope field because it is plugin/user-level installable and writes only current-project artifacts.\n\n`flowai migrate \u003cfrom\u003e \u003cto\u003e` requires an explicit `--global` or `--local` flag — it never auto-resolves, since cross-IDE migrations have different semantics in each scope.\n\n### Claude Code + Codex plugin marketplace\n\nIn addition to the `flowai` CLI, Claude Code and Codex users can install any pack as a native plugin from the [korchasa/flowai-plugins](https://github.com/korchasa/flowai-plugins) marketplace. All seven marketplace packs (`beta`, `core`, `deno`, `devtools`, `engineering`, `memex`, `typescript`) are published as separate plugins on every framework release:\n\n```sh\n# Inside a Claude Code session:\n/plugin marketplace add korchasa/flowai-plugins\n/plugin install flowai@flowai-plugins\n# Optional, pick whichever stacks you use:\n/plugin install flowai-deno@flowai-plugins\n/plugin install flowai-typescript@flowai-plugins\n/plugin install flowai-engineering@flowai-plugins\n/plugin install flowai-devtools@flowai-plugins\n/plugin install flowai-memex@flowai-plugins\n/plugin install flowai-beta@flowai-plugins  # Claude Code only; opt-in doc-anchors hook\n/reload-plugins\n```\n\n```sh\n# From a shell with Codex CLI installed:\ncodex plugin marketplace add korchasa/flowai-plugins\ncodex plugin add flowai@flowai-plugins\n# Optional, pick whichever stacks you use:\ncodex plugin add flowai-deno@flowai-plugins\ncodex plugin add flowai-typescript@flowai-plugins\ncodex plugin add flowai-engineering@flowai-plugins\ncodex plugin add flowai-devtools@flowai-plugins\ncodex plugin add flowai-memex@flowai-plugins\n# flowai-beta ships the doc-anchors Stop hook, which is inert on Codex (no turn-end hook).\n# Start a new Codex thread to load newly installed plugins. Edit individual\n# `[plugins.\"\u003cname\u003e@flowai-plugins\"]` tables in `~/.codex/config.toml` if you\n# want to disable specific packs.\n```\n\nSkills are invoked under the plugin namespace: core uses `/flowai:`, while optional packs use `/flowai-\u003cpack\u003e:`, e.g. `/flowai:commit`, `/flowai:plan`, `/flowai:update`, `/flowai-engineering:deep-research`, `/flowai-memex:save`, `/flowai-devtools:engineer-skill`. Source primitive names are short kebab-case names; the plugin namespace carries the `flowai` brand. Cross-skill references inside skill bodies are rewritten to the namespaced form during build, and pack-level assets (e.g. `AGENTS.template.md`) ship inside each consuming skill — `/flowai:update` and `/flowai:init` work out of the box without a separate `flowai sync` step. Hooks declared by `devtools`, `memex`, and the opt-in `beta` pack (`doc-anchors-validate`, a turn-end SALP anchor/reference check) are translated to Claude Code's `hooks.json` format automatically.\n\n\u003e **`doc-anchors-validate` is Claude Code only, and ships in the opt-in `beta` pack** (`flowai-beta`) — install it deliberately; it is not bundled into core. This hook fires on turn-end (`Stop`) and feeds dangling/duplicate SALP anchor findings back to the agent to fix in-turn. Empirical probes (2026-06) show the mechanism is supported only on Claude Code: Codex does not emit a turn-end hook (`codex exec` fires `SessionStart` but never `Stop`; the feature flag also renamed `codex_hooks`→`hooks`), OpenCode's `session.idle` is observation-only (no way to send the agent back to fix), and the `cursor-agent` CLI does not execute `.cursor/hooks.json` hooks at all (those are a Cursor IDE-app feature). On those IDEs the hook is simply not installed/active — no degraded fallback.\n\u003e\n\u003e A consuming project that hits false positives on its own fixture/example layout (anything not matching flowai's built-in skip patterns) sets `FLOWAI_DOC_ANCHORS_SKIP` to a comma-separated list of path substrings to additionally skip, e.g. `FLOWAI_DOC_ANCHORS_SKIP=fixtures,examples/,vendor/`.\n\nCodex receives the same generated `skills/` payload through `.agents/plugins/marketplace.json` and per-pack `.codex-plugin/plugin.json`. Codex hook execution is feature-gated; enable `[features].plugin_hooks = true` in Codex before relying on plugin hooks.\n\n`deno task check` always rebuilds and validates the local plugin marketplace before running the rest of the project checks. By default it does NOT touch your installed plugins and emits the upstream marketplace name `flowai-plugins`. To dogfood your local framework edits in Claude Code / Codex run `deno task sync-plugins-local`: it rebuilds `./dist/claude-plugins` with the dogfood marketplace name `flowai-plugins-local`, re-points that namespace at the absolute dist path in each available CLI, and installs / refreshes every emitted pack at user scope as `\u003cpack\u003e@flowai-plugins-local` unless the user explicitly disabled that dogfood plugin. The upstream `flowai-plugins` marketplace registration is intentionally NOT touched, so any pre-existing `\u003cpack\u003e@flowai-plugins` install keeps working side-by-side. Revert to upstream-only by removing the local marketplace: `claude plugin marketplace remove flowai-plugins-local` (and the Codex equivalent). Missing `claude` or `codex` CLIs are reported as warnings and skipped, not fatal. Set `AUTO_INSTALL_PLUGINS=true` in env or `.env` to opt `deno task check` into rebuilding with the dogfood name and running the sync automatically after every successful build/validate prerequisite.\n\nLocal marketplace smoke:\n\n```sh\n# One-shot dogfood install of the local build into Claude Code + Codex at\n# user scope under the `flowai-plugins-local` namespace (upstream\n# `flowai-plugins` registration is left untouched):\ndeno task sync-plugins-local\n\n# Or run the steps individually for inspection:\ndeno task build-plugins\n\n# Claude Code, one-session smoke without installation:\nclaude --plugin-dir ./dist/claude-plugins/plugins/flowai\n\n# Claude Code, persistent local user install:\nclaude plugin validate ./dist/claude-plugins\nclaude plugin marketplace add ./dist/claude-plugins\nclaude plugin install flowai@flowai-plugins --scope user\n\n# Codex, persistent local user install:\ncodex plugin marketplace add ./dist/claude-plugins\ncodex plugin add flowai@flowai-plugins\n```\n\nAfter `codex plugin marketplace add`, run `codex plugin add \u003cplugin\u003e@flowai-plugins` for each pack you want active. `plugin add` materializes the plugin payload under `~/.codex/plugins/cache/` and writes `[plugins.\"\u003cname\u003e@flowai-plugins\"] enabled = true`; a fresh Codex thread then loads its skills and hooks. Refresh happens by re-running `codex plugin marketplace upgrade flowai-plugins` and `codex plugin add \u003cplugin\u003e@flowai-plugins`. Disable individual packs by setting `enabled = false` (or removing the table) in `~/.codex/config.toml`.\n\n\u003e **CLI and plugin install are mutually exclusive:** if you install via the plugin marketplace, do NOT also run `flowai sync` for the same IDE in the same project — the CLI detects an installed flowai plugin and aborts to avoid dual installs. Pick one channel.\n\n\u003e **Security:** plugins execute arbitrary code at your user privilege. Only install marketplaces and plugins from sources you trust. The `korchasa/flowai-plugins` repository is a CI-generated mirror of this framework's packs and contains no human-authored content beyond `README.md` and `LICENSE`. See [REF:fr:dist.marketplace | FR-DIST.MARKETPLACE] for the build / distribution contract.\n\n### Quick Start Prompt\n\nCopy and paste the following prompt into your AI IDE (Claude Code, Cursor, OpenCode, OpenAI Codex) to install and initialize flowai in your project:\n\n\u003e Install the flowai framework in this project:\n\u003e 1. Check if Deno v2.x is installed (`deno --version`). If not, ask the user which OS they are on and install Deno using the official method for their platform (macOS: `brew install deno` or `curl -fsSL https://deno.land/install.sh | sh`, Windows: `irm https://deno.land/install.ps1 | iex`, Linux: `curl -fsSL https://deno.land/install.sh | sh`).\n\u003e 2. Run `deno install -g -A jsr:@korchasa/flowai` to install the CLI (skip if already installed).\n\u003e 3. Run `flowai` in the project root to sync skills and agents into the IDE config directory.\n\u003e 4. Run `/init` to analyze the codebase and generate AGENTS.md files, documentation scaffolding, and development commands.\n\n## Updating\n\nRun `/update` (or plugin namespaced `/flowai:update`) in your AI IDE. It reconciles the current project with the installed framework templates:\n\n1. Reads framework templates from project-local assets, plugin-local assets, or user-level assets\n2. Compares them with project-owned artifacts (`AGENTS.md`, `CLAUDE.md`, scaffolded docs/config)\n3. Proposes per-file migrations with diffs and confirmation\n4. Leaves installed skills, agents, plugin caches, and user-level dirs untouched\n\nTo update the CLI binary or sync project-local primitives, use the standalone `flowai` CLI. To adapt project-local installed primitives, run `/adapt`.\n\n## How It Works\n\nflowai is a set of **Commands**, **Skills**, and **Agents** — markdown instruction files that AI coding assistants (Cursor, Claude Code, OpenCode, OpenAI Codex, etc.) load into context to follow structured workflows.\n\n- **Commands** (`framework/\u003cpack\u003e/commands/\u003cname\u003e/SKILL.md`) — user-invoked workflows (e.g. `/commit`). The agent does not auto-discover them.\n- **Skills** (`framework/\u003cpack\u003e/skills/\u003cname\u003e/SKILL.md`) — agent-invocable capabilities. The agent picks them up automatically when relevant.\n- **Agents** (`framework/\u003cpack\u003e/agents/\u003cname\u003e/SUBAGENT.md`) — role definitions with specialized capabilities.\n- **Documentation** (`documents/`) — persistent project memory across sessions.\n\nBoth commands and skills install into `.{ide}/skills/`. The only IDE-visible difference is a `disable-model-invocation: true` flag on commands, added automatically by the CLI writer based on the source directory.\n\nAI models lose context between sessions, and unsurfaced AI decisions erode the human's mental model (cognitive debt). flowai compensates by storing all decisions, requirements, and architecture in structured docs that the agent reads at the start of every session — and by surfacing every above-class/method decision to the human as work proceeds.\n\n### Product vs. Development Tooling\n\nThis repository contains two distinct layers. Do not confuse them:\n\n- **`framework/`** — **the product itself**. Skills and agents organized into packs that users install into their projects via `flowai`. This is what flowai distributes.\n- **`.claude/skills/`, `.claude/agents/`** — **internal development tooling**. Skills and agents used to develop flowai itself (acceptance test runner, cursor-agent integration, code generation helpers). These are NOT distributed to users. Tracked in git directly.\n\n## Packs\n\nThe framework is organized into **packs** — modular groups of skills, agents, hooks, and scripts. Each pack has a `pack.yaml` with metadata. Users select which packs to install via `.flowai.yaml`.\n\n### core\n\nBase commands for development workflows (commit, plan, review, init, etc.).\n\n**Commands:**\n- `init` — project initialization (AGENTS.md, docs scaffolding, dev commands)\n- `commit` — streamlined atomic commits (targeted doc sync, inline grouping, auto-invoked reflect)\n- `review-and-commit` — streamlined review + commit (reuses diff across phases)\n- `push` — safe git push (no `--force`, explicit upstream confirmation, post-push `@{u}==HEAD` verification)\n- `ship` — terminal full-cycle composite: plan → implement → review → commit → push (4 explicit gates)\n- `ship-task` — SDLC continuation composite: takes a ready task file (with filled `## Solution`) and runs implement → review → commit → push (3 explicit gates; no planning phase)\n- `update` — reconcile project AGENTS.md/CLAUDE.md/scaffolded artifacts with framework templates\n- `adapt` — adapt project-local skills/agents/hooks/assets to project specifics (standalone)\n\n**Skills:**\n- `implement` — TDD implement skill (RED → GREEN → REFACTOR → CHECK over a written plan)\n- `plan` — task planning; writes persistent GODS tasks at `documents/tasks/\u003cYYYY\u003e/\u003cMM\u003e/\u003cslug\u003e.md` with `date`, `status`, `implements`, `tags`, and `related_tasks` frontmatter\n- `epic` — structured feature specification for multi-session features\n- `review` — QA + code review of current changes\n- `reflect` — self-analysis of the current session\n- `reflect-by-history` — cross-session analysis of past IDE transcripts\n- `investigate` — deep bug investigation via hypothesis-driven experiments\n- `maintenance` — project health audit (16-category scan + interactive resolution)\n- `setup-ai-ide-devcontainer` — AI IDE devcontainer setup\n- `configure-deno-commands` — configure Deno tasks\n\n**Agents:**\n- `console-expert` — complex console tasks and command execution\n- `diff-specialist` — git diff analysis and atomic commit preparation\n- `skill-adapter` — adapts a single skill to project specifics after upstream update\n- `agent-adapter` — adapts a single agent to project specifics after upstream update\n\n### engineering\n\nProcedural engineering knowledge (research, diagrams, writing, testing, etc.).\n\n**Skills:**\n- `deep-research` — multi-source web research with sub-agents\n- `draw-mermaid-diagrams` — Mermaid diagrams\n- `fix-tests` — fix failing tests\n- `write-prd` — Product Requirements Documents\n- `write-dep` — Development Enhancement Proposals\n- `write-gods-tasks` — GODS-format tasks\n- `write-in-informational-style` — informational writing style\n- `manage-github-tickets` — GitHub issue management\n- `browser-automation` — browser automation\n- `analyze-context` — token usage analysis\n- `engineer-ai-ide-plugin` — AI IDE plugin design and packaging\n- `engineer-plugin-marketplace` — AI IDE plugin marketplace design and validation\n- `engineer-plugin-mcp` — AI IDE plugin MCP servers and host wiring\n- `engineer-plugin-hooks` — AI IDE plugin hook adapters\n- `engineer-prompts-for-instant` — prompts for fast models\n- `engineer-prompts-for-reasoning` — prompts for reasoning models\n- `interactive-teaching-materials` — interactive HTML teaching materials\n\n**Agents:**\n- `deep-research-worker` — research worker for deep research sub-tasks\n\n### ide-bridge\n\nCross-IDE delegation: run a task in another AI IDE's CLI from the current session.\n\n**Skills:**\n- `ai-ide-runner` — one-shot relay / fan-out comparison across Claude Code / OpenCode / Cursor / Codex CLIs; child's stdout relayed verbatim\n- `delegate-to-ide` — delegate a task to another IDE via an isolated-context subagent so the child's transcript stays out of the parent's context\n\n**Agents:**\n- `worker` — single-shot cross-IDE CLI worker; spawned by `delegate-to-ide`\n\n### devtools\n\nSkill and agent authoring tools.\n\n**Skills:**\n- `engineer-skill` — create/modify a skill\n- `engineer-command` — create/modify a command\n- `engineer-rule` — create/modify a rule\n- `engineer-hook` — create/modify a hook\n- `engineer-subagent` — create/modify a subagent\n- `write-agent-benchmarks` — agent acceptance tests\n\n### deno\n\nDeno-specific skills.\n\n**Skills:**\n- `cli` — Deno CLI operations\n- `deploy` — Deno Deploy management\n\n### typescript\n\nTypeScript-specific setup skills.\n\n**Skills:**\n- `setup-agent-code-style-deno` — Deno/TS code style\n- `setup-agent-code-style-strict` — strict TypeScript\n\n### beta\n\nOpt-in beta capabilities not yet promoted to core. **Claude Code only.**\n\n**Hooks:**\n- `doc-anchors-validate` — turn-end (`Stop`) SALP anchor/reference integrity check; feeds dangling/duplicate findings back to the agent to fix in-turn. Extend its skip set per project via `FLOWAI_DOC_ANCHORS_SKIP` (comma-separated path substrings). See the Claude-Code-only note under [Installation](#claude-code--codex-plugin-marketplace).\n\n## CLI Commands\n\nThe `flowai` CLI provides commands beyond interactive skill sync:\n\n### `flowai sync`\n\nSync framework skills/agents into project-local IDE config dirs. Primary command for installation and updates.\n\nSupports installing from a git branch or local path via `.flowai.yaml`:\n\n```yaml\n# Install from a branch (uses official repo by default)\nsource:\n  ref: feat/new-skill\n\n# Install from a fork\nsource:\n  git: https://github.com/someone/flowai-fork.git\n  ref: main\n\n# Install from local directory\nsource:\n  path: /path/to/flowai/framework\n```\n\n`flowai sync` only notifies when a newer CLI is published (`Update available: X → Y. Run \\`flowai update\\` to install.`). It never installs — the sole install entry point is `flowai update`. Suppress the check with `--skip-update-check`; preview a run without writes via `-n` / `--dry-run`.\n\n### `flowai update`\n\nSelf-update the CLI binary. Checks JSR for a newer version; installs via `deno install -g -A -f jsr:@korchasa/flowai@\u003cversion\u003e`. In `-y` (non-interactive) mode prints the update command instead of running it. Fail-open on network errors.\n\n```sh\nflowai update           # interactive prompt\nflowai update -y        # print command only\n```\n\n### `flowai migrate \u003cfrom\u003e \u003cto\u003e`\n\nOne-way migration of installed primitives (skills, agents, commands) from one IDE config dir to another — e.g. `flowai migrate claude cursor`. Use when switching primary IDE. `--dry-run` previews without writing; `-y` overwrites conflicts non-interactively.\n\n### `flowai loop \u003cprompt\u003e`\n\nRun Claude Code non-interactively with real-time stream-json output. Base primitive for automation (CI, cron, scripts).\n\n```sh\n# Simple prompt\nflowai loop \"read deno.json and tell me the version\"\n\n# Invoke a skill via prompt\nflowai loop \"/analyze-context\"\n\n# With agent and auto-approve\nflowai loop --yolo --agent console-expert \"list all TODO comments\"\n\n# Repeated execution with pause\nflowai loop --yolo --interval 5m --max-iterations 10 \"/maintenance\"\n```\n\nOptions: `--agent`, `--model`, `--cwd`, `--yolo`, `--timeout`, `--interval`, `--max-iterations`. Run `flowai loop --help` for details.\n\n## Developer Workflow\n\n### 1. Project Setup\n\nInitialize the project structure and documentation:\n\n- Run `init` to analyze the codebase and generate `AGENTS.md`, SRS, SDS\n- Configure development commands for your stack\n\n### 2. Task Cycle\n\nEvery task follows the same supervised loop:\n\n1. **Task** — describe what needs to be done\n2. **Plan** (`plan`) — AI proposes a plan in GODS format. You review, adjust, approve\n3. **Execute** — AI implements the approved plan, narrating in class/method terms. You read the narration; diffs are optional\n4. **Verify** — `deno task check` (or your project's equivalent) must pass. No exceptions\n5. **Review \u0026 Commit** (`review-and-commit`) — AI reviews its own code, then prepares atomic commits. You confirm the decision-level summary before push\n\n### 3. Maintenance\n\n- `maintenance` — project health audit\n- `investigate` — root cause analysis for complex bugs\n\n## Key Principles\n\n1. **Human owns decisions, AI executes \u0026 reviews code** — no autonomous decisions above class/method level; AI reviews its own code, the human reviews decisions (not diffs). Prevents cognitive debt\n2. **Explicit workflows** — every task type has a defined skill with clear steps\n3. **Persistent memory** — documentation in `documents/` bridges the gap between sessions\n4. **Single verification gate** — `deno task check` is the source of truth for project health\n5. **IDE-agnostic** — skills work across Cursor, Claude Code, OpenCode, OpenAI Codex, and other AI-assisted editors\n\n## Project Structure\n\n```\nframework/              # THE PRODUCT — distributed to users via the flowai CLI\n  core/                 #   Core workflow commands and agents\n  engineering/          #   Procedural engineering knowledge\n  devtools/             #   Skill/agent authoring tools\n  deno/                 #   Deno-specific skills\n  typescript/           #   TypeScript-specific setup skills\ndocuments/              # Project documentation (SRS, SDS, tasks)\nscripts/                # Deno task scripts + acceptance test infrastructure\nacceptance-tests/       # Acceptance test runs, config, lock, per-scenario result cache (scenarios in framework/\u003cpack\u003e/{commands,skills}/*/acceptance-tests/)\ndeno.json               # Imports, tasks, lint/fmt config\nAGENTS.md               # Project vision, rules, agent instructions\n\n.claude/                # INTERNAL — dev tooling + framework resources\n  skills/               #   Dev-only skills (tracked) + framework skills (via flowai)\n  agents/               #   Dev-only agents (tracked) + framework agents (via flowai)\n```\n\n### Distribution flow\n\nThe CLI is no longer in this repo (see [korchasa/flowai-cli](https://github.com/korchasa/flowai-cli)). End-users still install the same JSR package (`@korchasa/flowai`); only the source-of-truth for CLI code moved.\n\n```\nkorchasa/flowai (this repo)                  korchasa/flowai-cli\n─────────────────────────────                ─────────────────────────────\nfeat/fix/refactor on main                    framework.lock (pinned version)\n        │                                            │\n        ▼                                            │\nrelease job:                                         │\n  • bump deno.json version                           │\n  • upload framework.tar.gz +                        │\n    framework.tar.gz.sha256 as                       │\n    assets of framework-v\u003cX\u003e ─────────────┐          │\n                                          │  GitHub  │\n                                          │  release │\n                                          ▼          ▼\n                                       scripts/bundle-framework.ts\n                                         (downloads tarball,\n                                          verifies SHA-256, untars,\n                                          bundles into src/bundled.json)\n                                                     │\n                                                     ▼\n                                        tag v\u003cY\u003e on flowai-cli\n                                                     │\n                                                     ▼\n                                            JSR @korchasa/flowai\n                                                     │\n                                                     ▼\n                                      deno install -g -A jsr:@korchasa/flowai\n```\n\n## Documentation as Memory\n\nDocumentation is not optional — it is the only mechanism that preserves context between AI sessions.\n\n- **`AGENTS.md`** — project vision, constraints, mandatory rules\n- **`requirements.md` (SRS)** — functional and non-functional requirements\n- **`design.md` (SDS)** — architecture, components, data models\n- **`tasks/`** — task plans per session (GODS: Goal, Overview, Done, Solution)\n\nThe agent reads these at session start. If the docs are outdated, the agent works with wrong assumptions. Keep them accurate.\n\n## Development Setup\n\nFor contributors working on **the framework** (skills, commands, agents, packs):\n\n**Prerequisites:** [Deno](https://deno.land), Git\n\n```sh\ngit clone https://github.com/korchasa/flowai.git\ncd flowai\ndeno task check\n```\n\nDev-only skills and agents live in `.claude/skills/` and `.claude/agents/` (tracked in git). Framework skills/agents are installed by flowai from bundled source.\n\n**Composite SKILL.md files are gitignored build artefacts.** Source of truth is `framework/composites.yaml` (manifest) + `framework/atoms/*.md` (parametrized step bodies) + `framework/composites/*.md` (wrappers). Every consumer (`deno task check`, `deno task acceptance-tests`, `deno task build-plugins`, CI tarball build) regenerates SKILL.md from source via `--write` before reading — so the rendered output is always current and there is no tracked rendered copy that can drift. The 8 generated paths are listed in `.gitignore`; the generator's `checkGitignoreParity` fails the build if that list goes out of sync with `--list-targets`. Generator inputs are excluded from `framework.tar.gz` via `tar --exclude` in `.github/workflows/ci.yml`, and re-verified by `scripts/check-pack-refs.ts --leakage`. See `framework/AGENTS.md § Composite Skill Authoring` for the canon rules.\n\nFor contributors working on **the CLI itself** (sync engine, IDE adapters, bundle pipeline) — go to [korchasa/flowai-cli](https://github.com/korchasa/flowai-cli). That repo has its own `deno task check`, its own test suite, and publishes `@korchasa/flowai` to JSR on tag `v*`. It pins a framework revision via `framework.lock`; bump it with `deno task bump-framework \u003cversion\u003e` after a new `framework-v*` release lands here.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorchasa%2Fflowai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkorchasa%2Fflowai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorchasa%2Fflowai/lists"}