{"id":31759774,"url":"https://github.com/agiflow/aicode-toolkit","last_synced_at":"2026-04-01T19:34:36.849Z","repository":{"id":318243100,"uuid":"1070083851","full_name":"AgiFlow/aicode-toolkit","owner":"AgiFlow","description":"Toolkit for Coding Agents to work reliably with repo of any size.","archived":false,"fork":false,"pushed_at":"2026-02-20T05:41:14.000Z","size":2942,"stargazers_count":140,"open_issues_count":0,"forks_count":21,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-20T05:41:25.281Z","etag":null,"topics":["full-stack","mcp-server","programming","vibecoding"],"latest_commit_sha":null,"homepage":"https://agiflow.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgiFlow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/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":"2025-10-05T08:25:22.000Z","updated_at":"2026-02-20T05:41:18.000Z","dependencies_parsed_at":"2025-12-29T05:05:40.661Z","dependency_job_id":null,"html_url":"https://github.com/AgiFlow/aicode-toolkit","commit_stats":null,"previous_names":["agiflow/aicode-toolkit"],"tags_count":131,"template":false,"template_full_name":null,"purl":"pkg:github/AgiFlow/aicode-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Faicode-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Faicode-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Faicode-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Faicode-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgiFlow","download_url":"https://codeload.github.com/AgiFlow/aicode-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Faicode-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29642902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: 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":["full-stack","mcp-server","programming","vibecoding"],"created_at":"2025-10-09T21:17:17.974Z","updated_at":"2026-04-01T19:34:36.835Z","avatar_url":"https://github.com/AgiFlow.png","language":"TypeScript","readme":"# AI Code Toolkit\n\n[![npm version](https://img.shields.io/npm/v/@agiflowai/scaffold-mcp.svg?style=flat-square)](https://www.npmjs.com/package/@agiflowai/scaffold-mcp)\n[![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL%203.0-blue.svg?style=flat-square)](https://opensource.org/licenses/AGPL-3.0)\n[![Discord](https://dcbadge.limes.pink/api/server/https://discord.gg/NsB6q9Vas9?style=flat-square)](https://discord.gg/NsB6q9Vas9)\n\n![AI Code Toolkit Banner](./docs/workflow.jpg)\n\nThis repo provides:\n- project and feature scaffolding via templates\n- file-level design guidance before edits\n- rule-based review after edits\n- design-system discovery for frontend work\n\n## Why This Exists\n\nAs projects scale, conventions in docs like `CLAUDE.md`, `AGENTS.md`, and style guides become hard to keep concise and consistently applied by AI agents. This toolkit moves those conventions into reusable template configs (`scaffold.yaml`, `architect.yaml`, `RULES.yaml`) so agents can discover only the relevant guidance when needed.\n\n## Quick Start\n\nRequirements:\n- Node.js \u003e= 18\n- an MCP-compatible agent such as Claude Code, Cursor, or Gemini CLI\n\n### 1. Initialize a Workspace\n\n```bash\n# Existing project\nnpx @agiflowai/aicode-toolkit init\n\n# New project\nnpx @agiflowai/aicode-toolkit init --name my-app --project-type monolith\n```\n\nThis creates `templates/` and `.toolkit/settings.yaml`. Projects reference templates through `sourceTemplate` in `project.json` or `.toolkit/settings.yaml`.\n\n### 2. Configure MCP\n\n`init` can configure MCP automatically. For manual setup, add the servers you need to your agent config.\n\nExample for Claude Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"scaffold-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agiflowai/scaffold-mcp\", \"mcp-serve\", \"--admin-enable\"]\n    },\n    \"architect-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\", \"@agiflowai/architect-mcp\", \"mcp-serve\",\n        \"--admin-enable\",\n        \"--design-pattern-tool\", \"codex\",\n        \"--review-tool\", \"gemini-cli\"\n      ]\n    },\n    \"style-system\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agiflowai/style-system\", \"mcp-serve\"]\n    }\n  }\n}\n```\n\nUseful flags:\n- `--admin-enable`: enable admin/template-authoring tools\n- `--design-pattern-tool \u003ctool\u003e`: use an LLM to filter design patterns\n- `--review-tool \u003ctool\u003e`: use an LLM for review output\n\n### 3. Verify\n\nAsk the agent:\n\n`What boilerplates are available?`\n\nIt should call `list-boilerplates`. If not, restart the agent.\n\n## Repo Layout\n\n```text\nAI agent\n  ├─ scaffold-mcp\n  ├─ architect-mcp\n  ├─ style-system\n  └─ one-mcp\n        ↓\n     templates/\n       ├─ scaffold.yaml\n       ├─ architect.yaml\n       └─ RULES.yaml\n```\n\n### scaffold-mcp\n\nGenerates projects and feature boilerplate from templates.\n\nCore tools:\n- `list-boilerplates`\n- `use-boilerplate`\n- `list-scaffolding-methods`\n- `use-scaffold-method`\n\nAdmin tools:\n- `generate-boilerplate`\n- `generate-feature-scaffold`\n- `generate-boilerplate-file`\n\n### architect-mcp\n\nProvides file-specific patterns before edits and reviews changes against `RULES.yaml`.\n\nCore tools:\n- `get-file-design-pattern`\n- `review-code-change`\n\nAdmin tools:\n- `add-design-pattern`\n- `add-rule`\n\n### style-system\n\nProvides theme, CSS class, and component discovery tools.\n\nCore tools:\n- `list_themes`\n- `get_css_classes`\n- `get_component_visual`\n- `list_shared_components`\n- `list_app_components`\n\n### one-mcp\n\nProvides progressive tool discovery to reduce MCP prompt overhead.\n\n## Typical Workflow\n\n### Create a Project\n\n```text\nUser: \"Create a Next.js app called dashboard\"\n\nAgent:\n1. list-boilerplates\n2. use-boilerplate\n3. Project is generated\n```\n\n### Add a Feature\n\n```text\nUser: \"Add a products API route\"\n\nAgent:\n1. list-scaffolding-methods\n2. use-scaffold-method\n3. Feature files are generated\n```\n\n### Edit a File Safely\n\n```text\nUser: \"Add a products page\"\n\nAgent:\n1. get-file-design-pattern\n2. edit the file using the returned patterns and rules\n3. review-code-change\n4. fix any violations\n```\n\n### Style a Component\n\n```text\nUser: \"Style the button with our theme colors\"\n\nAgent:\n1. get_css_classes\n2. list_shared_components\n3. update the component\n4. get_component_visual\n```\n\n## Template Structure\n\n```text\ntemplates/\n└── nextjs-15/\n    ├── scaffold.yaml\n    ├── architect.yaml\n    ├── RULES.yaml\n    └── boilerplate/\n```\n\n### `scaffold.yaml`\n\nDefines boilerplates and feature scaffolds.\n\n```yaml\nboilerplates:\n  - name: nextjs-15-app\n    description: \"Next.js 15 with App Router\"\n    targetFolder: apps\n    includes:\n      - boilerplate/**/*\n\nfeatures:\n  - name: add-route\n    description: \"Add route with page and layout\"\n    variables_schema:\n      name: { type: string, required: true }\n    includes:\n      - features/route/**/*\n```\n\n### `architect.yaml`\n\nDefines file-level patterns that should be shown before edits.\n\n```yaml\npatterns:\n  - name: server-component\n    description: \"Default for page components\"\n    file_patterns:\n      - \"**/app/**/page.tsx\"\n    description: |\n      - Use async/await for data fetching\n      - Keep components focused on rendering\n      - Move business logic to server actions\n```\n\n### `RULES.yaml`\n\nDefines review rules. Rules can be inherited from a global `templates/RULES.yaml`.\n\n```yaml\nversion: '1.0'\ntemplate: typescript-lib\nrules:\n  - pattern: src/services/**/*.ts\n    description: Service Layer Implementation Standards\n    must_do:\n      - rule: Create class-based services with single responsibility\n        codeExample: |-\n          export class DataProcessorService {\n            async processData(input: string): Promise\u003cProcessedData\u003e {\n              // Implementation\n            }\n          }\n      - rule: Use dependency injection for composability\n    must_not_do:\n      - rule: Create static-only utility classes - use functions\n        codeExample: |-\n          // ❌ BAD\n          export class Utils {\n            static format(s: string) {}\n          }\n\n          // ✅ GOOD\n          export function format(s: string): string {}\n```\n\n## Project Types\n\n### Monorepo\n\nEach project references its template in `project.json`.\n\n```text\nmy-workspace/\n├── apps/\n│   └── web-app/\n│       └── project.json\n├── packages/\n│   └── shared-lib/\n│       └── project.json\n└── templates/\n```\n\n### Monolith\n\nMonoliths use `.toolkit/settings.yaml`.\n\n```yaml\nversion: \"1.0\"\nprojectType: monolith\nsourceTemplate: nextjs-15\n```\n\n## Built-in Templates\n\nIncluded templates:\n\n| Template | Stack | Includes |\n|----------|-------|----------|\n| `nextjs-drizzle` | Next.js 15, App Router | TypeScript, Tailwind 4, Drizzle, Storybook |\n| `typescript-lib` | TypeScript Library | ESM/CJS, Vitest, TSDoc |\n| `typescript-mcp-package` | MCP Server | Commander, MCP SDK |\n\n## Custom Templates\n\nFor template authoring, start from an existing repo or template and use the admin prompts:\n\n```text\n/generate-boilerplate\n/generate-feature-scaffold\n```\n\nFor design/rule authoring, use:\n- `add-design-pattern`\n- `add-rule`\n\n## Supported Agents\n\n| Agent | Config Location | Status |\n|-------|-----------------|--------|\n| Claude Code | `.mcp.json` | Supported |\n| Cursor | `.cursor/mcp.json` | Supported |\n| Gemini CLI | `.gemini/settings.json` | Supported |\n| Codex CLI | `.codex/config.json` | Supported |\n| GitHub Copilot | VS Code settings | Supported |\n| Windsurf | - | Planned |\n\n## Packages\n\n| Package | Description |\n|---------|-------------|\n| [@agiflowai/aicode-toolkit](./apps/aicode-toolkit) | CLI for init and config sync |\n| [@agiflowai/scaffold-mcp](./packages/scaffold-mcp) | Scaffolding server |\n| [@agiflowai/architect-mcp](./packages/architect-mcp) | Pattern and review server |\n| [@agiflowai/style-system](./packages/style-system) | Design-system server |\n| [@agiflowai/one-mcp](./packages/one-mcp) | MCP proxy for progressive discovery |\n\n## Contributing\n\nSee [CONTRIBUTING.md](./docs/CONTRIBUTING.md).\n\n## License\n\n[AGPL-3.0](./LICENSE)\n\n---\n\n[Issues](https://github.com/AgiFlow/aicode-toolkit/issues) · [Discord](https://discord.gg/NsB6q9Vas9) · [Website](https://agiflow.io)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagiflow%2Faicode-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagiflow%2Faicode-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagiflow%2Faicode-toolkit/lists"}