Skip to content

Commit 8d748d4

Browse files
committed
feat: AIStack GPL release with bilingual docs
0 parents  commit 8d748d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+4877
-0
lines changed

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
vscode-extension/node_modules/
2+
vscode-extension/out/
3+
node_modules/
4+
dist/
5+
rounds/
6+
state/
7+
ROADMAP.md
8+
*.bin
9+
vscode-extension/*.vsix
10+
__pycache__/
11+
*.pyc

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.en.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# AIStack
2+
3+
AIStack is a multi-model collaboration framework for software delivery:
4+
5+
- Brainstorm with multiple models (`GPT/Claude/Gemini/...`)
6+
- Debate for N rounds
7+
- Synthesis into roadmap
8+
- Task compilation (`TaskSpec + Checks + L2 Skill + MCP allowlist`)
9+
- Worker execution
10+
- Reviewer acceptance
11+
12+
All core runtime is implemented in TypeScript/Node for easier VSCode extension distribution.
13+
14+
## Documentation
15+
16+
- Architecture and flow: `docs/ARCHITECTURE.md`
17+
- Installation: `docs/INSTALL.md`
18+
- Security and desensitization: `docs/SECURITY.md`
19+
- GitHub release steps: `docs/RELEASE.md`
20+
- Versioning policy: `docs/VERSIONING.md`
21+
22+
## Project Structure
23+
24+
- `scripts/brain.ts`: roadmap/task compiler and worker runner
25+
- `mcp/model_router/server.ts`: brainstorm/debate/synthesis MCP server
26+
- `mcp/claude_runner/server.ts`: Claude CLI MCP server
27+
- `vscode-extension/`: AIStack VSCode extension
28+
- `skills/`: L0/L1 skill definitions
29+
- `templates/`: TaskSpec/Checks/L2 skill templates
30+
31+
## Quick Start
32+
33+
```bash
34+
npm install
35+
npm run build
36+
node dist/scripts/brain.js init --goal "Build AIStack workflow"
37+
```
38+
39+
Create one task:
40+
41+
```bash
42+
node dist/scripts/brain.js new-task \
43+
--title "Implement router" \
44+
--goal "Generate task package" \
45+
--scope "scripts/,templates/,skills/" \
46+
--files "scripts/brain.ts,templates/,skills/" \
47+
--acceptance "Generates TaskSpec/Checks/allowlist;repeatable"
48+
```
49+
50+
Run worker:
51+
52+
```bash
53+
node dist/scripts/brain.js run-worker \
54+
--task-dir "rounds/R01/T001_implement_router" \
55+
--worker claude \
56+
--dangerous-permissions
57+
```

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# AIStack
2+
3+
中文主文档。English version: [README.en.md](README.en.md)
4+
5+
AIStack 是一个多模型协作的软件交付框架,支持:
6+
7+
- 多模型 Brainstorm(可选 GPT / Claude / Gemini 等)
8+
- Debate 多轮互评
9+
- Synthesis 汇总为可执行 Roadmap
10+
- 任务编译(`TaskSpec + Checks + L2 Skill + MCP allowlist`
11+
- Worker 执行与 Reviewer 验收
12+
13+
核心运行时全部为 TypeScript/Node,便于 VSCode 插件发布与跨平台分发。
14+
15+
## 文档导航
16+
17+
- 架构与流程图(中文):`docs/ARCHITECTURE.md`
18+
- English: `docs/ARCHITECTURE.en.md`
19+
- 安装部署(中文):`docs/INSTALL.md`
20+
- English: `docs/INSTALL.en.md`
21+
- 安全与脱敏(中文):`docs/SECURITY.md`
22+
- English: `docs/SECURITY.en.md`
23+
- 发布流程(中文):`docs/RELEASE.md`
24+
- English: `docs/RELEASE.en.md`
25+
- 版本规则(中文):`docs/VERSIONING.md`
26+
- English: `docs/VERSIONING.en.md`
27+
- 授权策略(中文):`docs/LICENSE_POLICY.md`
28+
- English: `docs/LICENSE_POLICY.en.md`
29+
30+
## 项目结构
31+
32+
- `scripts/brain.ts`: roadmap/task 编排与 worker 调度
33+
- `mcp/model_router/server.ts`: brainstorm/debate/synthesis 统一 MCP 路由
34+
- `mcp/claude_runner/server.ts`: Claude CLI MCP
35+
- `vscode-extension/`: AIStack VSCode 插件
36+
- `skills/`: L0/L1 技能定义
37+
- `templates/`: TaskSpec/Checks/L2 skill 模板
38+
39+
## 快速开始
40+
41+
```bash
42+
npm install
43+
npm run build
44+
node dist/scripts/brain.js init --goal "Build AIStack workflow"
45+
```
46+
47+
创建任务:
48+
49+
```bash
50+
node dist/scripts/brain.js new-task \
51+
--title "Implement router" \
52+
--goal "Generate task package" \
53+
--scope "scripts/,templates/,skills/" \
54+
--files "scripts/brain.ts,templates/,skills/" \
55+
--acceptance "Generates TaskSpec/Checks/allowlist;repeatable"
56+
```
57+
58+
执行 worker:
59+
60+
```bash
61+
node dist/scripts/brain.js run-worker \
62+
--task-dir "rounds/R01/T001_implement_router" \
63+
--worker claude \
64+
--dangerous-permissions
65+
```

config/router_rules.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"default_skills": [
3+
"skills/L1.general-coding.SKILL.md"
4+
],
5+
"keyword_routes": [
6+
{
7+
"keywords": ["api", "backend", "service", "database", "migration", "schema"],
8+
"skills": ["skills/L1.backend-api.SKILL.md"]
9+
},
10+
{
11+
"keywords": ["ui", "frontend", "react", "page", "component", "css", "mobile"],
12+
"skills": ["skills/L1.frontend-ui.SKILL.md"]
13+
},
14+
{
15+
"keywords": ["doc", "readme", "release", "changelog", "runbook"],
16+
"skills": ["skills/L1.docs-and-release.SKILL.md"]
17+
}
18+
],
19+
"mcp_profiles": {
20+
"base": [
21+
"filesystem.read",
22+
"filesystem.write",
23+
"ripgrep.search",
24+
"shell.test",
25+
"git.diff"
26+
],
27+
"web_research": [
28+
"brave.web_search",
29+
"fetch.imageFetch"
30+
],
31+
"ui_validation": [
32+
"playwright.browser_snapshot",
33+
"playwright.browser_take_screenshot"
34+
]
35+
},
36+
"profile_rules": [
37+
{
38+
"keywords": ["latest", "version", "doc", "官方", "文档", "最新"],
39+
"profiles": ["web_research"]
40+
},
41+
{
42+
"keywords": ["ui", "frontend", "page", "component", "mobile"],
43+
"profiles": ["ui_validation"]
44+
}
45+
]
46+
}
47+

docs/ARCHITECTURE.en.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Architecture
2+
3+
## End-to-End Flow
4+
5+
```mermaid
6+
flowchart LR
7+
A["Requirement Input"] --> B["Brainstorm (multi-model)"]
8+
B --> C["Debate (N rounds)"]
9+
C --> D["Synthesis (selected model)"]
10+
D --> E["Roadmap (Round -> Task)"]
11+
E --> F["Task Compiler (TaskSpec/Checks/L2 Skill/MCP allowlist)"]
12+
F --> G["Execution Worker"]
13+
G --> H["Verification (tests/lint/build)"]
14+
H --> I["Reviewer Acceptance"]
15+
I --> J["Pass -> Next Task"]
16+
I --> K["Fail -> Rework"]
17+
```
18+
19+
## Relationship Table
20+
21+
| Stage | Owner Role | Inputs | Outputs | MCP/Tooling |
22+
|---|---|---|---|---|
23+
| Brainstorm | Brainstormers (multi-model) | Requirement | candidate proposals | `model-router` |
24+
| Debate | Brainstormers | proposals | critiques per round | `model-router` |
25+
| Synthesis | Planner model | proposals + critiques | architecture decision + roadmap | `model-router` |
26+
| Task Compile | Brain/Orchestrator | roadmap node | `TaskSpec.md`, `Checks.md`, `TASK.SKILL.md`, `mcp_allowlist.json` | `scripts/brain.ts` |
27+
| Execution | Worker model | task package | code changes + explanation | `claude-runner` or provider API |
28+
| Verification | CI/local | code changes | pass/fail evidence | test/lint/build commands |
29+
| Acceptance | Reviewer model | diff + evidence | accept/reject + risks | provider API / MCP |
30+
31+
## Skill Layers
32+
33+
- L0: roadmap scheduler only
34+
- L1: domain reusable playbooks
35+
- L2: short task instance skill generated per task
36+
37+
## Permission Model
38+
39+
- Default: minimum required MCP tool allowlist per task
40+
- Optional: dangerous permission switches by model (`codex/claude/gemini`)
41+
- Full automation mode: dangerous switches all enabled
42+

docs/ARCHITECTURE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# 架构说明
2+
3+
English version: [ARCHITECTURE.en.md](ARCHITECTURE.en.md)
4+
5+
## 端到端流程图
6+
7+
```mermaid
8+
flowchart LR
9+
A["需求输入"] --> B["Brainstorm 多模型讨论"]
10+
B --> C["Debate 多轮互评"]
11+
C --> D["Synthesis 汇总方案"]
12+
D --> E["Roadmap Round -> Task"]
13+
E --> F["任务编译 TaskSpec/Checks/L2 Skill/MCP allowlist"]
14+
F --> G["Worker 执行"]
15+
G --> H["验证 tests/lint/build"]
16+
H --> I["Reviewer 验收"]
17+
I --> J["通过 -> 下一个任务"]
18+
I --> K["失败 -> 返工"]
19+
```
20+
21+
## 关系表
22+
23+
| 阶段 | 负责角色 | 输入 | 输出 | MCP/工具 |
24+
|---|---|---|---|---|
25+
| Brainstorm | 多模型讨论组 | Requirement | 候选方案 | `model-router` |
26+
| Debate | 多模型讨论组 | 候选方案 | 互评结果(按轮次) | `model-router` |
27+
| Synthesis | 指定汇总模型 | 方案 + 互评 | 统一决策 + Roadmap | `model-router` |
28+
| Task Compile | Brain/Orchestrator | Roadmap 节点 | `TaskSpec.md` `Checks.md` `TASK.SKILL.md` `mcp_allowlist.json` | `scripts/brain.ts` |
29+
| Execution | Worker 模型 | 任务包 | 代码改动 + 执行说明 | `claude-runner` 或 provider API |
30+
| Verification | CI/本地 | 代码改动 | 通过/失败证据 | test/lint/build |
31+
| Acceptance | Reviewer 模型 | diff + 验证证据 | accept/reject + 风险列表 | provider API / MCP |
32+
33+
## Skill 分层
34+
35+
- L0:只做 roadmap 调度和验收门禁
36+
- L1:稳定的领域技能(可复用)
37+
- L2:任务实例技能(短、小、按任务生成)
38+
39+
## 权限模型
40+
41+
- 默认:每个 Task 使用最小 MCP allowlist
42+
- 可选:按模型开启危险权限(codex / claude / gemini)
43+
- 全程自动化:危险权限统一开启(仅建议在可信环境)

docs/INSTALL.en.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Installation
2+
3+
## Prerequisites
4+
5+
- Node.js 18+ (recommended 20+)
6+
- npm 8+
7+
- Optional: Claude CLI (`claude`) if using `claude-runner`
8+
- VSCode 1.85+
9+
10+
## 1) Core Build
11+
12+
```bash
13+
npm install
14+
npm run build
15+
```
16+
17+
Core commands:
18+
19+
```bash
20+
node dist/scripts/brain.js --help
21+
```
22+
23+
## 2) MCP Servers
24+
25+
### `model-router`
26+
27+
```bash
28+
node dist/mcp/model_router/server.js
29+
```
30+
31+
### `claude-runner`
32+
33+
```bash
34+
CLAUDE_RUNNER_ALLOWED_ROOTS="/absolute/path/to/your/workspace" \
35+
node dist/mcp/claude_runner/server.js
36+
```
37+
38+
## 3) VSCode Extension (from source)
39+
40+
```bash
41+
cd vscode-extension
42+
npm install
43+
npm run compile
44+
```
45+
46+
Then open `vscode-extension/` in VSCode and press `F5` for Extension Development Host.
47+
48+
## 4) VSIX Packaging (optional)
49+
50+
```bash
51+
cd vscode-extension
52+
npm install -D @vscode/vsce
53+
npx vsce package
54+
```
55+
56+
Install generated `.vsix` in VSCode.
57+
58+
## 5) MCP Client Config Example
59+
60+
```json
61+
{
62+
"mcpServers": {
63+
"model-router": {
64+
"command": "node",
65+
"args": ["dist/mcp/model_router/server.js"]
66+
},
67+
"claude-runner": {
68+
"command": "node",
69+
"args": ["dist/mcp/claude_runner/server.js"],
70+
"env": {
71+
"CLAUDE_RUNNER_ALLOWED_ROOTS": "/absolute/path/to/your/workspace"
72+
}
73+
}
74+
}
75+
}
76+
```
77+

0 commit comments

Comments
 (0)