{"id":50833050,"url":"https://github.com/abdelrahmannasr/yadflow","last_synced_at":"2026-07-02T15:01:07.814Z","repository":{"id":363443768,"uuid":"1259313740","full_name":"abdelrahmannasr/yadflow","owner":"abdelrahmannasr","description":"Yadflow (yad = يد, \"hand\") — the AI-driven SDLC where a human hand moves every gate. Gated, team, multi-repo: author → review → build, with a PR-driven review gate and a zero-dependency CLI. Ships as a BMAD module + 17 skills.","archived":false,"fork":false,"pushed_at":"2026-06-12T17:42:34.000Z","size":485,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-12T19:09:59.837Z","etag":null,"topics":["ai-sdlc","bmad","cli","code-review","developer-tools","monorepo","sdlc","spec-driven-development","workflow","yadflow"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/yadflow","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdelrahmannasr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":null,"dco":null,"cla":null}},"created_at":"2026-06-04T11:40:08.000Z","updated_at":"2026-06-12T17:42:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/abdelrahmannasr/yadflow","commit_stats":null,"previous_names":["abdelrahmannasr/sdlc-workflow","abdelrahmannasr/yadflow"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/abdelrahmannasr/yadflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelrahmannasr%2Fyadflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelrahmannasr%2Fyadflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelrahmannasr%2Fyadflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelrahmannasr%2Fyadflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdelrahmannasr","download_url":"https://codeload.github.com/abdelrahmannasr/yadflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdelrahmannasr%2Fyadflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34305881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai-sdlc","bmad","cli","code-review","developer-tools","monorepo","sdlc","spec-driven-development","workflow","yadflow"],"created_at":"2026-06-14T01:10:28.082Z","updated_at":"2026-07-02T15:01:07.797Z","avatar_url":"https://github.com/abdelrahmannasr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yadflow — keep AI-generated code from shipping ungoverned\n\n[![npm version](https://img.shields.io/npm/v/yadflow?logo=npm)](https://www.npmjs.com/package/yadflow)\n[![CI](https://github.com/abdelrahmannasr/yadflow/actions/workflows/ci.yml/badge.svg)](https://github.com/abdelrahmannasr/yadflow/actions/workflows/ci.yml)\n[![node](https://img.shields.io/node/v/yadflow?logo=node.js)](https://github.com/abdelrahmannasr/yadflow/blob/main/package.json)\n[![report](https://img.shields.io/badge/docs-Yadflow%20report-2471a3)](https://abdelrahmannasr.github.io/yadflow/)\n\n**A gated software-development lifecycle where AI builds and a human approves every step.**\n*AI builds. The hand decides.* (*yad* — **يد**, Arabic for \"hand\".) On npm and GitHub as `yadflow`.\n\n## The problem\n\nAI writes code faster than any team can review it. Left ungoverned, that speed turns into risk:\nunreviewed AI-generated changes merge straight into the codebase, architectural decisions get made\nby autocomplete, and the trail of *why* a change was made disappears. The faster the team ships with\nAI, the harder it gets to keep control of quality, architecture, and accountability.\n\n## What Yadflow is\n\nYadflow puts a **human gate on every step** of the lifecycle. Each step does its work, writes its\noutput to a plain file, and **waits** — it never advances until a human approves it (or, later, until\na step has *earned* the right to auto-advance). Reviews ride real PR/MRs; all state lives in files you\ncan read, diff, and edit — no database, nothing hidden. The result is a paper trail for every decision\nand a hard wall between \"AI proposed\" and \"we shipped it.\"\n\nIt installs as a custom [BMAD](https://github.com/bmad-code-org/BMAD-METHOD) module and works across\none product hub + many code repos, solo or team.\n\n## How the workflow looks\n\n\u003c!-- Source: docs/diagrams/sdlc-overview.mmd — edit the .mmd and run `npm run diagrams` to regenerate --\u003e\n![Yadflow SDLC overview — setup, human-gated front half, per-story build half, earned automation](https://raw.githubusercontent.com/abdelrahmannasr/yadflow/main/docs/diagrams/sdlc-overview.svg)\n\n**Legend:** 🟨 **artifact** (a step writes a file and stops) · 🟧 **gate** (a human review that must\npass) · 🟦 **earns automation** (a back step that can later auto-advance once it proves itself) ·\n⬜ **locked** (the engineer review and every front state — permanently human).\n\n## Quickstart\n\nFrom your **product hub** repo (an empty git repo is fine):\n\n```bash\nnpx yadflow setup        # 1. guided wizard: install skills, connect repos, wire CI gates\n```\n\nThen, in your AI IDE, drive the lifecycle by invoking skills by name:\n\n```text\nrun yad-epic             # 2. author + gate the \"thinking\": epic → architecture → UI → stories\nrun yad-spec   …         # 3. build half: spec → implement → checks → ship (per story, per repo)\n```\n\nEvery step stops at a gate until a human approves. New here? **Walk it lesson-by-lesson in the\n[guided tutorial](https://abdelrahmannasr.github.io/yadflow/tutorial/)**, or read the\n[team guide](TEAM-GUIDE.md).\n\n## How it works (in five points)\n\n- **Front half = decide.** Once per epic, in the product hub: epic, architecture + a locked contract,\n  UI, stories, test cases. Always human-gated — nothing auto-advances.\n- **Build half = build.** Once per story per code repo: spec → implement → checks → ship.\n- **Every step stops at a gate.** A human moves it forward (file-only, or by merging a review PR/MR).\n- **Automation is opt-in and earned.** A safe back-half step can earn auto-advance after it proves\n  itself — and a one-command kill switch reverts everything to manual. The engineer review and all\n  front states are never automatable.\n- **Everything is files.** State, approvals, the contract lock, the build log — all plain files under\n  `epics/EP-\u003cslug\u003e/`. No database. The audit trail *is* the repo.\n\n## Review, made a pairing — and a lesson\n\nReviewing AI-generated code is where governance lives or dies, so Yadflow makes the honest review the\n*easiest* path — and, optionally, a **teaching** one. The **Review Companion** turns a PR/MR into a\n60-second trailer, swipe-through cards, and a grounded chat. On top of it, **Pair Review**\n(`yad pair-review`) runs a guided, two-way walkthrough: the AI walks the engineer through the change\n**one risk-ordered stop at a time**, explains each change in depth, then **asks them about it**; the\nengineer answers and asks back, until **both are satisfied**. The session doubles as a lesson — it\ndemonstrates a transferable review method, scores the engineer against it, and records their review-skill\ngrowth in a **private, local-only** learning log (`yad status` rolls it up). It's **soft and additive**:\nit never blocks a merge, it rides the same `engagement: verified` signal, and any genuine concern it\nsurfaces blocks like a normal review comment.\n\n## Who it's for\n\nTech leads and engineering managers who want their team to move fast with AI **without** giving up\nreview, architectural control, or an audit trail — the governance layer around AI-assisted\ndevelopment, not another code generator. And because the audit trail *is* the repo, `yad usage` turns\nit into a per-member **adoption \u0026 behavior report** (HTML/JSON/MD) — who authored, reviewed, approved,\nand shipped, with factual workflow-hygiene flags — derived read-only, so an EM can see how the team\nactually uses the flow.\n\n## Documentation\n\n- **[Guided tutorial](https://abdelrahmannasr.github.io/yadflow/tutorial/)** — learn by doing, setup → first shipped feature.\n- **[Terminology \u0026 workflow report](https://abdelrahmannasr.github.io/yadflow/)** — every term, artifact, gate, and skill on one illustrated page.\n- **[TEAM-GUIDE.md](TEAM-GUIDE.md)** — the short, plain-language version for a developer team.\n- **[docs/CLI.md](docs/CLI.md)** — the full `yad` command reference, the PR-driven gate, and `yad doctor` codes.\n- **[docs/SKILLS.md](docs/SKILLS.md)** — the catalogue of all 37 agent skills.\n- **[docs/WALKTHROUGH.md](docs/WALKTHROUGH.md)** — the by-hand, end-to-end path through every phase.\n- **[CONTRIBUTING.md](CONTRIBUTING.md)** · **[RESEARCH-NOTES.md](RESEARCH-NOTES.md)** · **[RELEASING.md](RELEASING.md)**\n\n---\n\n**Platform support.** Linux and macOS are first-class (CI runs the test suite, bash gates, and the\nend-to-end harness on both). On **Windows use [WSL](https://learn.microsoft.com/windows/wsl/)** — native\nPowerShell is not yet supported. Requires **Node.js ≥ 18**.\n\n**Releases** are automated via [semantic-release](https://semantic-release.gitbook.io/) on merge to\n`main` (Conventional Commits → npm, with provenance). See [RELEASING.md](RELEASING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelrahmannasr%2Fyadflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdelrahmannasr%2Fyadflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelrahmannasr%2Fyadflow/lists"}