{"id":51043651,"url":"https://github.com/dokor/ai-delivery-engine","last_synced_at":"2026-06-22T12:02:03.565Z","repository":{"id":364684157,"uuid":"1263415692","full_name":"dokor/ai-delivery-engine","owner":"dokor","description":"AI Delivery Engine for managing AI-assisted software development workflows, GitHub issues, Codex tasks, project delivery, and developer productivity.","archived":false,"fork":false,"pushed_at":"2026-06-14T02:23:46.000Z","size":112,"stargazers_count":1,"open_issues_count":27,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T04:13:45.001Z","etag":null,"topics":["ai","automation","codex","developper-tools","github","github-issues","openai","productivity","project-management","software-delivery","typescript","workflow"],"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/dokor.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-08T23:58:42.000Z","updated_at":"2026-06-14T02:23:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dokor/ai-delivery-engine","commit_stats":null,"previous_names":["dokor/ai-delivery-engine"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dokor/ai-delivery-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokor%2Fai-delivery-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokor%2Fai-delivery-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokor%2Fai-delivery-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokor%2Fai-delivery-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dokor","download_url":"https://codeload.github.com/dokor/ai-delivery-engine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokor%2Fai-delivery-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34647750,"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-22T02:00:06.391Z","response_time":106,"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","automation","codex","developper-tools","github","github-issues","openai","productivity","project-management","software-delivery","typescript","workflow"],"created_at":"2026-06-22T12:02:01.294Z","updated_at":"2026-06-22T12:02:03.558Z","avatar_url":"https://github.com/dokor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Delivery Engine\n\nAI Delivery Engine is a documentation-first foundation for a future system that coordinates multiple AI agents like a small software delivery team.\n\nThe goal is not to build autonomous agents yet. The goal of this first repository iteration is to make the product intent, operating model, and MVP boundaries explicit before writing orchestration code.\n\n## What Problem It Solves\n\nTeams can already use AI to write specs, generate UI ideas, suggest code, and draft tests. The hard part is delivery coordination:\n\n- who owns each step\n- what context is passed forward\n- how backlog items are created and refined\n- where human approval is required\n- what should stay manual before automation is trusted\n\nAI Delivery Engine is meant to turn ad hoc prompting into a repeatable delivery workflow.\n\n## Target Users\n\n- solo founders and freelancers shipping client work\n- small product teams that want AI help without losing control\n- tech leads who want structured AI collaboration instead of one-off prompts\n\n## V1 In One Line\n\nV1 is a manual, local-first, documentation-driven workflow for turning a project brief into a structured backlog with human review at every important step.\n\n## Current MVP Status\n\nThe current MVP is not an autonomous agent platform yet. It is a local semi-automatic delivery loop.\n\nIt can already:\n\n- read a local project brief;\n- generate a deterministic PO/PM backlog draft;\n- generate a manual PO/PM prompt to copy into an AI assistant;\n- ask the AI assistant for an importable JSON response;\n- import and validate a manually saved PO/PM JSON response;\n- generate specialist prompts from individual exported backlog items;\n- produce normalized JSON and Markdown backlog outputs;\n- run deterministic backlog quality checks;\n- export one Markdown file per backlog item for manual review;\n- generate batch specialist prompts from the export manifest for supported owner roles, with a generated local index;\n- check saved specialist responses locally with deterministic Markdown and JSON reports;\n- summarize the local workflow state from generated files under `outputs/`.\n\nIt deliberately does not yet:\n\n- call OpenAI, Claude, Ollama, or any other model provider;\n- run autonomous agents;\n- create remote issues;\n- use n8n;\n- use a database;\n- provide a web dashboard.\n\n## Repository Map\n\n- [docs/VISION.md](docs/VISION.md)\n- [docs/ROADMAP.md](docs/ROADMAP.md)\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)\n- [docs/AGENTS.md](docs/AGENTS.md)\n- [docs/WORKFLOW.md](docs/WORKFLOW.md)\n- [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md)\n- [docs/MANUAL_WORKFLOW.md](docs/MANUAL_WORKFLOW.md)\n- [docs/V1_READINESS_CHECKLIST.md](docs/V1_READINESS_CHECKLIST.md)\n- [docs/BACKLOG_MODEL.md](docs/BACKLOG_MODEL.md)\n- [docs/MVP.md](docs/MVP.md)\n- [docs/contracts/PO_PM_OUTPUT_CONTRACT.md](docs/contracts/PO_PM_OUTPUT_CONTRACT.md)\n- [docs/contracts/SPECIALIST_RESPONSE_CONTRACT.md](docs/contracts/SPECIALIST_RESPONSE_CONTRACT.md)\n- [docs/DECISIONS/ADR-0001-documentation-first.md](docs/DECISIONS/ADR-0001-documentation-first.md)\n- [templates/](templates/) reusable manual role templates for UX/UI, Front-end, Back-end, QA, Tech Lead, Legal \u0026 Compliance, Security, DevOps, Data \u0026 Analytics, and Customer Success perspectives\n- [examples/demo-project/README.md](examples/demo-project/README.md) complete demo fixture for the full local V1 workflow\n- [examples/demo-v1-roles/README.md](examples/demo-v1-roles/README.md) compact demo fixture that covers every current V1 core role in one backlog\n- [examples/specialist-responses/README.md](examples/specialist-responses/README.md) fixture examples of contract-compliant specialist responses\n\n## Recommended First Implementation Approach\n\n1. Keep the source of truth in Markdown and simple JSON examples.\n2. Start with one agent flow: `brief -\u003e PO/PM -\u003e backlog draft`.\n3. Use manual prompts and manual approval instead of API calls.\n4. Store backlog items in files before introducing a database.\n5. Add automation only after the input, output, and review contracts feel stable.\n\n## Non-Goals For This Stage\n\n- no real LLM integrations\n- no autonomous execution\n- no complex dashboard\n- no external API coupling\n\n## Local MVP Workflow\n\nInstall dependencies:\n\n```bash\npnpm install\n```\n\n### 1. Generate a deterministic backlog draft\n\n```bash\npnpm backlog:run\n```\n\nDefault input:\n\n```txt\nsrc/examples/sample-brief.md\n```\n\nDefault outputs:\n\n```txt\noutputs/sample-brief.backlog.json\noutputs/sample-brief.backlog.md\n```\n\nThis command proves the basic flow locally:\n\n```txt\nbrief -\u003e PO/PM runner -\u003e backlog draft\n```\n\nYou can also pass a custom brief path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/index.ts path/to/brief.md outputs\n```\n\n### 2. Generate a manual PO/PM prompt\n\n```bash\npnpm prompt:po\n```\n\nThis command writes a provider-agnostic Markdown prompt under `outputs/`, ready to copy into ChatGPT, Codex, Claude, or another assistant manually.\n\nThe prompt asks for a fenced importable JSON response aligned with [docs/contracts/PO_PM_OUTPUT_CONTRACT.md](docs/contracts/PO_PM_OUTPUT_CONTRACT.md). A sample valid response lives at [src/examples/sample-po-pm-output.json](src/examples/sample-po-pm-output.json).\n\nYou can also pass a custom brief path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/promptPo.ts path/to/brief.md outputs\n```\n\n### 3. Import a manually saved PO/PM AI response\n\n```bash\npnpm import:po\n```\n\nBy default, the importer reads [src/examples/sample-po-pm-output.json](src/examples/sample-po-pm-output.json), validates it against the PO/PM contract and backlog draft types, and writes:\n\n```txt\noutputs/sample-po-pm-output.normalized.backlog.json\noutputs/sample-po-pm-output.normalized.backlog.md\n```\n\nYou can also pass a custom input path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/importPo.ts path/to/po-pm-response.json outputs\n```\n\n### 4. Generate a specialist prompt from an exported backlog item\n\n```bash\npnpm prompt:specialist\n```\n\nThe command accepts:\n\n1. a role name\n2. a backlog item Markdown file path\n3. an optional output directory\n\nExample:\n\n```bash\nnode --experimental-strip-types src/promptSpecialist.ts frontend outputs/exported-items/story-002.md outputs\n```\n\nSupported roles:\n\n- `ux-ui`\n- `frontend`\n- `backend`\n- `qa`\n- `tech-lead`\n- `legal-compliance`\n- `security`\n- `devops`\n- `data-analytics`\n- `customer-success`\n\nBy default, the command reads the matching role template from `templates/`, reads the selected backlog item Markdown file, and writes a provider-agnostic prompt under `outputs/` using the format:\n\n```txt\n\u003citem-id\u003e.\u003crole\u003e.prompt.md\n```\n\nFor example:\n\n```txt\noutputs/story-002.frontend.prompt.md\n```\n\n### 5. Run a deterministic backlog quality review\n\n```bash\npnpm backlog:review\n```\n\nBy default, the review reads [src/examples/sample-po-pm-output.json](src/examples/sample-po-pm-output.json), validates the backlog shape first, then writes:\n\n```txt\noutputs/backlog-review.md\noutputs/backlog-review.json\n```\n\nThe review reports simple deterministic findings such as missing acceptance criteria, missing task owner roles, orphan stories or tasks, weak descriptions, missing assumptions or open questions, and missing risk items.\n\nYou can also pass a custom backlog JSON path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/reviewBacklog.ts path/to/backlog.json outputs\n```\n\n### 6. Export backlog items to local Markdown files\n\n```bash\npnpm backlog:export\n```\n\nBy default, the exporter reads [src/examples/sample-po-pm-output.json](src/examples/sample-po-pm-output.json), validates the backlog first, writes one Markdown file per item under `outputs/exported-items/`, and also generates `outputs/exported-items/manifest.json`.\n\nEach item file includes the item title, description, type, priority, status, owner role when present, parent ID when present, acceptance criteria for stories, assumptions and notes when present, and suggested labels.\n\nThe manifest includes the source backlog path, export timestamp, exported item count, and one entry per exported Markdown file with the item ID, title, type, priority, status, owner role when present, parent ID when present, file path, and suggested labels.\n\nYou can also pass a custom backlog JSON path and optional export directory:\n\n```bash\nnode --experimental-strip-types src/exportBacklog.ts path/to/backlog.json outputs/exported-items\n```\n\n### 7. Generate batch specialist prompts from the export manifest\n\n```bash\npnpm prompt:specialists\n```\n\nBy default, the command reads `outputs/exported-items/manifest.json`, maps supported `ownerRole` values to the matching specialist templates under [templates/](templates/), and writes provider-agnostic Markdown prompts under `outputs/specialist-prompts/`.\n\nIt also writes:\n\n```txt\noutputs/specialist-prompts/index.json\noutputs/specialist-prompts/README.md\n```\n\nThe generated index includes the source manifest path, generation timestamp, manifest item count, generated prompt count, skipped item count, and one entry per generated prompt with the item ID, item title, item type, owner role, specialist role, prompt file path, and source backlog item file path.\n\nThe generated Markdown README makes the batch easy to inspect manually by summarizing the run and linking each generated prompt file.\n\nSupported role mappings:\n\n```txt\nux_ui -\u003e ux-ui\nfrontend -\u003e frontend\nbackend -\u003e backend\nqa -\u003e qa\ntech_lead -\u003e tech-lead\nlegal_compliance -\u003e legal-compliance\nsecurity -\u003e security\ndevops -\u003e devops\ndata_analytics -\u003e data-analytics\ncustomer_success -\u003e customer-success\n```\n\nItems with missing or unsupported owner roles, such as `po_pm`, are skipped.\n\nSuggested output filenames:\n\n```txt\noutputs/specialist-prompts/task-003.ux-ui.prompt.md\noutputs/specialist-prompts/task-004.frontend.prompt.md\n```\n\nYou can also pass a custom manifest path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/promptSpecialists.ts path/to/manifest.json outputs/specialist-prompts\n```\n\n### 8. Check local project status\n\n```bash\npnpm project:status\n```\n\nBy default, the command inspects local generated files under `outputs/` and prints a concise summary of whether the deterministic backlog draft, PO/PM prompt, normalized backlog, backlog review report, exported Markdown items, and export manifest exist.\n\nWhen available, it also reports the number of backlog review findings and the number of exported items, then suggests the next local step.\n\nThe command also writes:\n\n```txt\noutputs/project-status.json\n```\n\n### 9. Check a specialist response locally\n\n```bash\npnpm specialist:check\n```\n\nBy default, the checker reads `examples/specialist-responses/frontend-story-002.md`, validates the response against the basic specialist response contract structure, and writes:\n\n```txt\noutputs/frontend-story-002.specialist-check.md\noutputs/frontend-story-002.specialist-check.json\n```\n\nThe checker looks for:\n\n- `# Specialist Response`\n- required `##` sections such as `Role`, `Scope`, `Item Notes`, `Assumptions`, `Open Questions`, `Risks`, and `Suggested Backlog Updates`\n- a supported role value\n- at least one backlog item ID reference\n- weak or very short content\n- suspicious claims such as direct file edits, automatic status changes, remote issue creation, or automatic approval\n\nThe intended specialist loop is:\n\n```txt\nspecialist prompt -\u003e manual assistant response saved as Markdown -\u003e specialist:check -\u003e human review\n```\n\nThe checker is deterministic and structure-focused. It does not grade specialist quality semantically, approve work automatically, or decide whether a response should be accepted. A human still decides whether the response is accepted, revised, or rejected.\n\nYou can also pass a custom specialist response Markdown path and optional output directory:\n\n```bash\nnode --experimental-strip-types src/specialistCheck.ts examples/specialist-responses/frontend-story-002.md outputs\n```\n\n### 10. Validate the demo workflow\n\n```bash\npnpm demo:validate\n```\n\nThis command runs the full local workflow against `examples/demo-project/` with explicit demo paths, then verifies that the expected backlog draft, prompt, normalized backlog, review outputs, export manifest, and project status files were generated under `outputs/demo-project/`.\n\n## End-To-End Manual Loop\n\nThe intended V1 usage is:\n\n```txt\n1. Write or choose a local brief\n2. Run pnpm backlog:run for a deterministic baseline\n3. Run pnpm prompt:po to generate a manual PO/PM prompt\n4. Copy the prompt into an AI assistant\n5. Save the AI response as a local JSON file\n6. Run pnpm import:po to validate and normalize it\n7. Run pnpm backlog:review to check backlog quality\n8. Run pnpm backlog:export to create one Markdown file per item\n9. Run pnpm prompt:specialists or pnpm prompt:specialist for the items you want to refine\n10. Save the manual specialist response as Markdown and run pnpm specialist:check\n11. Review the specialist check outputs and decide manually what to accept before implementation\n```\n\nThis keeps the human in control while making each step repeatable and inspectable.\n\n## Current Status\n\nAI Delivery Engine currently defines the product vision, agent roles, backlog model, workflow, MVP scope, and the first local semi-automatic PO/PM delivery loop.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokor%2Fai-delivery-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdokor%2Fai-delivery-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokor%2Fai-delivery-engine/lists"}