# iforgeai **Repository Path**: practicus/iforgeai ## Basic Information - **Project Name**: iforgeai - **Description**: 为 GitHub Copilot 打造的 AI 交付团队:10 个专业角色(产品经理、架构师、DBA、UI 设计师、项目经理、前端/后端工程师、QA、DevOps),按阶段协作、人工门控审批的结构化研发工作流。同时支持 Claude Code 与 OpenAI Codex CLI。 - **Primary Language**: PowerShell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 26 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

[![VS Code](https://img.shields.io/badge/VS%20Code-1.99%2B-0078d4?logo=visualstudiocode&logoColor=white)](https://code.visualstudio.com/) [![GitHub Copilot](https://img.shields.io/badge/GitHub_Copilot-supported-000000?logo=githubcopilot&logoColor=white)](https://github.com/features/copilot) [![Claude Code](https://img.shields.io/badge/Claude_Code-supported-CC785C?logo=anthropic&logoColor=white)](https://www.anthropic.com/claude-code) [![Codex CLI](https://img.shields.io/badge/Codex_CLI-supported-412991?logo=openai&logoColor=white)](https://github.com/openai/codex) [![DevOps Docker Capability](https://img.shields.io/badge/DevOps-Docker%20Capability-2496ED?logo=docker&logoColor=white)](https://www.docker.com/) [![DevOps CI/CD Capability](https://img.shields.io/badge/DevOps-CI%2FCD%20Capability-0A66C2?logo=githubactions&logoColor=white)](https://github.com/features/actions) [![Version](https://img.shields.io/badge/version-v1.1.0-blue)](CHANGELOG.md) [中文](README.zh-CN.md) A structured AI agent toolkit for GitHub Copilot, designed for software delivery teams. by [jordium.com](https://jordium.com) --- iforgeAI provides 10 specialist AI agents for GitHub Copilot — one per delivery role. Each agent has defined inputs, outputs, and handoff points. A coordinator agent (`@digital-team`) connects them into a sequential workflow with human gate reviews between phases. To avoid conflicts with existing products using similar names in the market, the project has been renamed from `forgeai` to `iforgeAI`. Current backend support: .NET. Java support is planned for a future release. The DevOps role includes Docker configuration and CI/CD pipeline delivery capabilities, and generates these artifacts on demand based on the `docker` and `cicd` settings in `.ai/context/workflow-config.md`. Adapters for Claude Code and OpenAI Codex CLI are also available. See [Claude Code & Codex CLI](#claude-code--codex-cli) below. --- ## Roles | Phase | Role | Agent | Output | | ----- | ----------------- | -------------------- | ------------------------------------------------ | | P1 | Product Manager | `@product-manager` | `.ai/temp/requirement.md` | | P2a | Architect | `@architect` | `.ai/temp/architect.md` · `.ai/temp/api-contract.md` (skeleton) | | P2b | DBA | `@dba` | `.ai/temp/db-design.md` · `.ai/temp/db-init.sql` | | P3 | UI Designer | `@ui-designer` | `.ai/temp/ui-design.md` · `.ai/temp/ui-wireframe.html` · `.ai/context/ui-designs/_index.md` | | P3b | UI Designer · Design Review | `@ui-designer` (`UI review:`) | `.ai/context/ui-designs/_index.md` (finalised) · `.ai/temp/ui-design.md` (final) | | P4 | Project Manager | `@project-manager` | `.ai/temp/wbs.md` | | P5a | .NET Engineer | `@dotnet-engineer` | `.ai/temp/api-contract.md` (completed) | | P5b | Plan | `@plan` | `.ai/temp/plan.md` | | P6a | Frontend Engineer | `@frontend-engineer` | Source code | | P6b | .NET Engineer | `@dotnet-engineer` | Source code | | P6c | Architect | `@architect` | `.ai/reports/architect/review-report-{v}.md` | | P7 | QA Engineer | `@qa-engineer` | `.ai/reports/qa-report.md` | | P8 | DevOps Engineer | `@devops-engineer` | `.ai/reports/devops-engineer/deploy-guide-{v}.md` | `@digital-team` is the Orchestrator. It reads `.ai/temp/` to detect the current phase, displays progress, and runs gate reviews. > **Copilot Chat (Agent mode):** Switch to Agent mode and select agents from the agent picker — the `@name` above is the agent's picker name, not a chat command. **Claude Code / Codex CLI:** Use trigger phrases to set role context. ## Workflow ```mermaid flowchart TD START(["🚀 Start iteration\n@digital-team"]) P1["P1 · Product Manager\n@product-manager\nrequirement.md"] G1{"Gate 1\nReview"} P2A["P2a · Architect\n@architect\narchitect.md + api-contract skeleton"] P2B["P2b · DBA\n@dba\ndb-design.md + db-init.sql"] G2{"Gate 2\nJoint Review"} P3["P3 · UI Designer\n@ui-designer\nui-design.md + wireframe.html"] G3{"Gate 3\nReview"} P4["P4 · Project Manager\n@project-manager\nwbs.md"] G4{"Gate 4\nReview"} P5A["P5a · .NET Engineer\n@dotnet-engineer /contract\napi-contract.md (full schemas)"] P5B["P5b · Plan\n@plan\nplan.md"] G5{"Gate 5\nReview"} P6A["P6a · Frontend Engineer\n@frontend-engineer\nsource code"] P6B["P6b · .NET Engineer\n@dotnet-engineer /develop\nsource code"] P6C["P6c · Architect\n@architect /review\nreview-report.md"] G6{"Gate 6\nReview"} P7["P7 · QA Engineer\n@qa-engineer\nqa-report.md"] G7{"Gate 7\nRelease Assessment"} P8["P8 · DevOps Engineer\n@devops-engineer\ndeploy-guide.md"] DONE(["✅ Release approved\nHuman deployment"]) REJECT["🔄 Return to role\nfor revision"] START --> P1 P1 --> G1 G1 -->|Approved| P2A & P2B G1 -->|Rejected| REJECT P2A & P2B --> G2 G2 -->|Approved| P3 G2 -->|Rejected| REJECT P3 --> G3 G3 -->|Approved| P4 G3 -->|Rejected| REJECT P4 --> G4 G4 -->|Approved| P5A & P5B G4 -->|Rejected| REJECT P5A & P5B --> G5 G5 -->|Approved| P6A & P6B G5 -->|Rejected| REJECT P6A & P6B --> P6C P6C --> G6 G6 -->|Approved| P7 G6 -->|Rejected| REJECT P7 --> G7 G7 -->|Approved| P8 G7 -->|Issues found| REJECT P8 --> DONE ``` --- ## Requirements - VS Code 1.99 or later with the GitHub Copilot and GitHub Copilot Chat extensions installed and active - PowerShell 7+ (`pwsh`) for the installer Install PowerShell 7 if not already present: ```sh # Windows winget install Microsoft.PowerShell # macOS brew install powershell ``` --- ## Installation ### 1. Clone the repository GitHub: ```sh git clone https://github.com/nelson820125/iforgeai.git cd iforgeai ``` Gitee: ```sh git clone https://gitee.com/jordium/iforgeai.git cd iforgeai ``` ### 2. Run the installer ```sh pwsh ./install.ps1 ``` The installer detects your OS and shows the default target path for each component (agents, skills, instructions, prompts). Press Enter to accept a path or type a replacement. Available flags: | Flag | Effect | | ------------- | ------------------------------------------------------- | | `-Force` | Overwrite files that already exist | | `-DryRun` | Preview all planned operations without writing anything | | `-SkipSkills` | Skip installing skill definitions | Default paths: | OS | Agents / Instructions / Prompts | Skills | | OS | Agents / Instructions / Prompts | Skills | |----|----------------------------------|--------| | Windows | `%APPDATA%\Code\User\` | `%USERPROFILE%\.copilot\skills\` | | macOS | `~/Library/Application Support/Code/User/` | `~/.copilot/skills/` | | Linux | `~/.config/Code/User/` | `~/.copilot/skills/` | ### 3. Reload VS Code ``` Ctrl+Shift+P > Developer: Reload Window ``` Agents and instructions are loaded at startup. The reload is required after the first install. ### 4. Grant file-write permission to `digital-team` > **Why this matters:** `digital-team` and all specialist agents write their deliverables (requirements, architecture docs, DB design, etc.) directly to `.ai/temp/`. Without the **Edit files** permission, every document is printed to the Chat window instead, consuming large amounts of context and degrading the quality of downstream agents. 1. Open the Copilot Chat panel in VS Code 2. Click the **Tools** icon to the left of the input box 3. Make sure **Edit files** is checked 4. `digital-team` performs this check automatically on every startup. If the permission is missing it will pause and guide you through enabling it — you can also choose to continue without it (documents will print to Chat instead). --- ## Uninstall ```sh pwsh ./uninstall.ps1 ``` Removes all installed agents, skills, instructions, and prompts, and restores `settings.json` to its pre-install state. If you had a `chat.pluginLocations` entry before installing iforgeAI, the original value is preserved; if the key did not exist, it is removed entirely. To preview what will be removed without making any changes: ```sh pwsh ./uninstall.ps1 -DryRun ``` --- ## Claude Code & Codex CLI The same 10-role workflow is available for Claude Code and OpenAI Codex CLI. No installer is required — copy one config file to your project root. ### Platform support All three platforms run on Windows, macOS, and Linux. | Platform | Requirement | Config file | |---|---|---| | GitHub Copilot | VS Code 1.99+, `pwsh install.ps1` | Deployed via installer | | Claude Code | Claude Code CLI | `CLAUDE.md` in project root or `~/.claude/` | | Codex CLI | OpenAI Codex CLI | `AGENTS.md` in project root | ### Setup **Claude Code — copy to project root:** ```sh cp claude-code/CLAUDE.md /path/to/your/project/CLAUDE.md ``` Or place at the global location to apply to all projects: ```sh # macOS / Linux cp claude-code/CLAUDE.md ~/.claude/CLAUDE.md # Windows cp claude-code\CLAUDE.md $env:USERPROFILE\.claude\CLAUDE.md ``` **Codex CLI — copy to project root:** ```sh cp codex/AGENTS.md /path/to/your/project/AGENTS.md ``` **Simplified Chinese locale:** ```sh # Claude Code cp zh-CN/claude-code/CLAUDE.md /path/to/your/project/CLAUDE.md # Codex CLI cp zh-CN/codex/AGENTS.md /path/to/your/project/AGENTS.md ``` ### Trigger phrases Invoke any role by prefixing your message with its trigger phrase. After each phase, a gate review card is shown — type `approve` to advance or `return [reason]` to revise. | Trigger | Role | |---|---| | `status` | Orchestrator — check current phase | | `PM:` | Product Manager (P1) | | `Architect:` | Architect (P2a) | | `DBA:` | DBA (P2b) | | `UI:` | UI Designer (P3) | | `Project Manager:` | Project Manager (P4) | | `API contract:` | .NET Engineer — contract (P5a) | | `Plan:` | Technical Plan (P5b) — outputs `.ai/temp/plan.md` | | `Frontend:` | Frontend Engineer (P6a) | | `.NET:` | .NET Engineer — dev (P6b) | | `Code review:` | Architect — code review (P6c) | | `QA:` | QA Engineer (P7) | | `DevOps:` | DevOps Engineer (P8) | > Claude Code and Codex CLI run the entire workflow in a single conversation thread. Role context is set by your trigger phrase — there is no automatic agent switching. --- ## Language Support iforgeAI installs in **English by default**. The output language of agent-generated deliverables (requirements, architecture docs, DB design, etc.) is controlled per-project by the `output_language` field in `.ai/context/workflow-config.md`. ### Chinese (Simplified) Users A full Simplified Chinese locale is available in the `zh-CN/` directory — all agent and skill files are in Chinese: ```sh pwsh ./zh-CN/install.ps1 ``` This installs the same components from the `zh-CN/copilot/` source tree. ### Setting the output language for a project After running `/init-project`, open `.ai/context/workflow-config.md` and set: ```yaml output_language: "zh-CN" # en-US | zh-CN ``` All agents read this value at startup and write their deliverables in the specified language. --- ## Scrum Mode By default iforgeAI uses `standard` delivery mode: all phase outputs are written to a single `.ai/temp/` directory. For projects with multiple releases and sprints, enable Scrum mode during project init. ### Enabling Scrum mode During `/init-project`, answer **Q9** with `scrum`. The prompt then asks for the first version and sprint name (e.g. `v1.0`, `sprint-1`). This creates the following directory structure: ``` .ai/ ├── context/ # Shared config — not versioned ├── v1.0/ │ ├── sprint-1/ │ │ ├── temp/ # Phase outputs for this sprint │ │ └── reports/ # QA and review reports for this sprint │ └── sprint-2/ │ ├── temp/ │ └── reports/ └── records/ # Engineer work logs (continuous, not per-sprint) ``` The `workflow-config.md` file tracks the active context: ```yaml delivery_mode: "scrum" current_version: "v1.0" current_sprint: "sprint-1" ``` `digital-team` and all specialist agents resolve their file paths from these values automatically. ### Starting a new sprint or version 1. Update `current_version` and `current_sprint` in `.ai/context/workflow-config.md` 2. Create the new directories: `.ai/{version}/{sprint}/temp/` and `.ai/{version}/{sprint}/reports/` 3. Restart `digital-team` — it will detect the empty sprint and start from Phase 1 ### Standalone agent usage in Scrum mode All agents read the path configuration automatically. If invoked standalone and `current_version` / `current_sprint` are not set in the config, the agent will ask you to specify them: ``` dotnet-engineer: implement the order approval API # Agent asks: "Scrum mode is active. Which version and sprint should I use?" ``` --- ## Project Setup In a new project workspace, run the following in Copilot Chat: ``` /init-project MyProject fullstack ``` This creates a `.ai/` directory in the project root: ``` .ai/ ├── context/ │ ├── workflow-config.md # Role on/off switches, tech stack, design approach, and output_language │ ├── architect_constraint.md # Architecture and library constraints │ ├── ui_constraint.md # Brand colours, style tone, layout — filled manually before UI phase │ └── ui-designs/ # External design tool exports (Stitch, Figma) — place files here after export │ ├── _index.md # Page inventory — created by @ui-designer Phase A, finalised in Phase B │ └── {page}/ # Per-page folder (Stitch) or flat .html files (Figma) ├── temp/ # Phase outputs (written by each agent) ├── records/ # Engineer work logs └── reports/ # QA reports ``` ### Configure before starting Open `.ai/context/workflow-config.md` and set the following fields before the first iteration: #### `db_approach` — database schema strategy ```yaml db_approach: "database-first" # default ``` | Value | Behaviour | |---|---| | `database-first` | DBA outputs a ready-to-run `db-init.sql`. Engineers read it to write ORM entities. Use when the schema is the authoritative source of truth. | | `code-first` | DBA outputs a design document only. Engineers drive the schema via ORM migrations (e.g. EF Core). Use when the codebase owns the schema lifecycle. | #### `design_approach` — phase order for UI design ```yaml design_approach: "architecture-first" # default ``` | Value | Phase order | Best for | |---|---|---| | `architecture-first` | PM → Architect → DBA → **UI Designer** → … | B2B / industrial / high-integration systems. UI Designer reads `requirement.md` + `architect.md` to ensure the design stays within technical constraints. | | `ui-first` | PM → **UI Designer** → Architect → DBA → … | C-side products or prototype-driven projects. Architect and DBA additionally read `ui-design.md` so their designs accommodate the desired UX. | #### `ui_constraint.md` — brand and style constraints This file is **filled manually** by the PM, tech lead, or designer — not generated by AI. Fill it in before `@ui-designer` runs. It contains: - **Brand colours** — 12 CSS custom property values (`primary`, `danger`, `surface`, etc.) - **Style tone** — `clean-light` / `enterprise-gray` / `professional-dark` - **UI library** — must match the `ui_library` value in the Tech Stack section - **Typography and layout** — base font size, sidebar width, border radius, etc. If any field is left blank, `@ui-designer` will propose and apply a neutral enterprise default and state the chosen value in its output. `@ui-designer` uses these values in two ways: 1. Defines matching CSS custom properties in the Style Variables section of `ui-design.md` 2. Applies them at the top of the `