aistack-cli
v0.1.10
Published
Project scaffolder applying repo-reference templates/rules/skills/agents
Readme
AI Scaffolder
CLI tool tạo project AI-ready — tự động apply rules, skills, agents, MCP từ 27 manifests / 25 repos (gấp rưỡi so với design gốc 19/22). Mỗi file được dùng đúng cách: skills →
.claude/skills/, commands →.claude/commands/, agents →.claude/agents/, hooks →.claude/hooks/, references →docs/references/(indexed trong CLAUDE.md). Hỗ trợ Claude Code và Gemini CLI.
ais init . --target claude --stack typescript
→ ~2100 files (0 errors, ~3 giây)Quick Start
# 1. Cài global CLI — từ npm (recommended, Node 22.6+)
npm install -g aistack-cli
# → ais có sẵn trong PATH, dùng trực tiếp
# Hoặc từ source (sau khi clone repo):
cd aistack/ai/cli && npm install
node --experimental-strip-types src/index.ts install
# → ✅ Installed ais → ~/.local/bin/ais
# 2. Init project bất kỳ
cd ~/Project/my-app
ais init .
# 3. (Headroom) Cài đầy đủ — MCP + proxy mode
pip install "headroom-ai[proxy]" && headroom mcp install
# 4. (Firecrawl) Set API key nếu cần web scraping
export FIRECRAWL_API_KEY=your_keyZero network khi scaffold — toàn bộ ~3.1 MB source files đã bundle sẵn trong data/vendor/.
Flow — ais init
ais init . --target claude --stack typescript
│
▼
initCommand()
├─ detectStack(path) # scan tsconfig.json → typescript
│ # scan go.mod → golang, Cargo.toml → rust...
│ # fail → interactive wizard
└─ ScaffoldEngine.scaffold()
│
├─ 1. loadManifests() # import 27 manifest files, sort by priority (10→80)
│
├─ 2. filterFiles() # per manifest file:
│ ├─ manifest.stacks includes stack?
│ ├─ file.stacks includes stack?
│ ├─ file.targets includes 'claude'?
│ └─ loadVendorFile(repo, src) → Buffer
│ → ~2100 ScopedResult[]
│
├─ 3. mergeConflicts() # group by [mode, dst]:
│ ├─ merge-json → deep merge objects (settings.json)
│ ├─ merge-hooks → merge by event+matcher (hooks.json)
│ └─ merge-mcp → merge by server name (.mcp.json)
│ # .mcp.json: playwright+context7+deepwiki+mcp-search+firecrawl → 1 file
│
├─ 4. extract karpathy/browser-use/mem0 content từ CLAUDE.md
│ → remove những entries đó khỏi results
│
├─ 5. generateClaudeMd() # scan agents/commands/skills từ results
│ → render CLAUDE.md.hbs template với toàn bộ metadata
│
├─ 6. applyTarget('claude')
│ → ClaudeTarget.filter(): giữ targets=[] hoặc =['claude']
│ bỏ targets=['gemini'] only
│
└─ 7. FileWriter.write() × 280
├─ overwrite → writeFileSync
├─ skip-if-exists → skip nếu tồn tại
└─ append → unique lines onlyFlow — Session khi chat với Claude
claude (mở Claude Code trong project đã scaffold)
│
▼ SESSION START
├─ hooks.py (SessionStart) → play sound + log event
├─ superpowers-session-start → inject using-superpowers SKILL.md vào context
└─ claude-mem MCP → auto-inject observations từ sessions trước
▼ BẠN GÕ TIN NHẮN
└─ hooks.py (UserPromptSubmit) → sound + log
▼ CLAUDE DÙNG TOOL
├─ Bash?
│ ├─ gsd-prompt-guard.js → check prompt injection (async)
│ └─ gsd-context-monitor.js → check context % usage (async)
│
├─ Write/Edit?
│ └─ gsd-workflow-guard.js → validate workflow (SYNC — blocking)
│
└─ hooks.py (PostToolUse) + gsd-validate-commit.sh
▼ SKILLS ON DEMAND (khi gọi)
├─ /brainstorming, /writing-plans, /tdd ... (Superpowers, MattPocock)
├─ /mem-search, /learn-codebase ... (claude-mem)
├─ headroom_compress(content) (headroom MCP: nén large output)
├─ headroom_retrieve(hash) (headroom MCP: lấy lại original)
└─ headroom_stats() (headroom MCP: token saved)
▼ MCP SERVERS (luôn active)
├─ mcp-search → claude-mem cross-session memory
├─ context7 → library docs on demand
├─ playwright → browser automation
├─ deepwiki → wiki pages
└─ firecrawl → URL→Markdown scraping (cần FIRECRAWL_API_KEY)
▼ AUTO-COMPACT tại 80% context window
└─ PreCompact hook → compact → PostCompact hook
▼ SESSION END
└─ claude-mem auto-capture observations → available next sessionJust Chat — Không cần nhớ cú pháp
Mọi tool đều hoạt động ngầm khi bạn chat tự nhiên. Claude tự đọc CLAUDE.md + rules + skills, tự biết dùng gì.
| Bạn nói | Tool chạy ngầm | Kết quả |
| ----------------------------------- | ------------------------------- | ------------------------------------- |
| "tìm function xử lý auth" | codegraph search "auth" | Symbol + file + line + callers |
| "git diff / npm test / cargo build" | RTK filter CLI output | Output ngắn 60-90% (bạn không thấy) |
| "đọc file src/core/engine.ts" | headroom_compress → hash | Claude nén, retrieve khi cần chi tiết |
| "pack code gửi AI review" | repomix --compress | File XML/MD -70% |
| "hôm trước mình bàn gì?" | claude-mem mem-search | Cross-session memory recall |
| "code review giúp tôi" | code-reviewer agent | Review severity tiers + approvals |
| "debug lỗi này" | debugger agent | Root cause analysis |
| "lên design trước đi" | brainstorming skill (HARD-GATE) | Design spec + user approve → mới code |
| "vào web lấy dữ liệu" | playwright MCP | Browser automation |
| "search web + scrape" | firecrawl MCP | URL→Markdown (cần FIRECRAWL_API_KEY) |
Chỉ cần chat. Claude tự load skills + agents + MCP servers, không cần gọi /command.
Token Optimization Stack
Baseline (large TypeScript project): ~150K tokens/session
Tầng 1 — rtk (p60): 60-90% CLI output savings
git status, git diff, npm list, pytest → filtered trước khi vào context
Tầng 2 — codegraph (p50): 57% ít token, 62% ít tool calls
grep/find/Read → thay bằng codegraph SQLite knowledge graph
Tầng 3 — repomix (p50): 70% khi pack codebase
Tree-sitter compression khi cần share code với AI
Tầng 4 — headroom (p65): 60-95% thêm (MCP on demand hoặc proxy)
headroom_compress(large_output) → compressed + hash → retrieve khi cần
Sau tất cả: ~10-25K tokens/session (-83-93%)
Fixed cost/session: ~2,275 tokens (CLAUDE.md + rules)
Skills/Agents: 0 tokens fixed (load on demand)Headroom — 2 chế độ
Headroom có 2 chế độ hoạt động khác nhau:
Chế độ 1: MCP on-demand (đã active sau install)
Claude Code tự gọi headroom_compress khi thấy output lớn:
# Không cần làm gì thêm — MCP tool đã register sau:
pip install "headroom-ai[proxy]" && headroom mcp installDùng khi: muốn nén 1 output cụ thể, không muốn intercept toàn bộ traffic.
Chế độ 2: Proxy mode (tự động 100%)
Intercept toàn bộ traffic giữa Claude Code và Anthropic API — compress mọi request/response tự động:
# Terminal 1: chạy proxy
headroom proxy
# Terminal 2: mở Claude Code qua proxy
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claudeProxy không ảnh hưởng đến skills/agents/hooks — tất cả config local vẫn hoạt động bình thường. Chỉ API traffic đi qua proxy.
Xem stats real-time:
curl http://127.0.0.1:8787/stats | python3 -m json.tool
# → requests_compressed, total_tokens_saved, cost saved...Lần đầu chạy proxy sẽ tải models nén về local (~100MB, 1 lần duy nhất). Các lần sau dùng cache, không tải lại.
Chế độ 3: Proxy với DeepSeek (thay Anthropic backend)
Dùng DeepSeek (hoặc provider khác có Anthropic-compatible API) làm backend thay vì Anthropic:
# Terminal 1: proxy forward sang DeepSeek thay vì api.anthropic.com
ANTHROPIC_TARGET_API_URL=https://api.deepseek.com/anthropic \
ANTHROPIC_API_KEY=sk-your-deepseek-key \
headroom proxy --code-graph --learn --memory-qdrant-host 127.0.0.1 --memory-qdrant-port 6333
# Terminal 2: Claude Code dùng proxy → DeepSeek
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claudeLưu ý: DeepSeek's Anthropic-compatible API đang beta — một số features (tool use, streaming) có thể chưa hoàn chỉnh. Test kỹ trước khi dùng production.
Bảo mật: Không commit/share API key. Dùng
.envhoặc shell profile để set env vars.
Installation
# Từ npm (recommended) — ais có sẵn trong PATH
npm install -g aistack-cli
# Hoặc từ source:
cd aistack/ai/cli && npm install
node --experimental-strip-types src/index.ts install
ais init ~/Project/my-app # auto-detect stack
ais init . --stack typescript # chỉ định stack
ais init . --target claude,gemini # cả hai targets
ais uninstall # gỡ bỏStack auto-detect: tsconfig.json → typescript · Cargo.toml → rust · go.mod → golang · pyproject.toml / requirements.txt → python · pubspec.yaml / Podfile → mobile.
Commands
ais init [path] # Init project (default: current dir)
ais init . --stack typescript # Specify stack
ais init . --target claude # Target: claude | gemini | claude,gemini
ais init . --plugins ecc,gsd # Chỉ chọn plugin cụ thể
ais init . --dry-run # Preview không ghi file
ais list plugins # 19 plugins với file count
ais list stacks # typescript, python, golang, rust...
ais list targets # claude, gemini
ais info headroom # Chi tiết 1 pluginOutput sau scaffold
project/
├── CLAUDE.md ← Generated: agents + commands + skills + guidelines
├── .claude/
│ ├── rules/ecc/ ← 15 rules (10 common + 5 typescript)
│ ├── rules/project/ ← workflow.md
│ ├── agents/ ← 32+ agents (ecc/gsd/subagents/repomix)
│ ├── skills/ ← ~111 skills (load on demand)
│ ├── commands/ ← 23 commands (/brief, /pack-*, /rtk:*)
│ ├── workflows/gsd/ ← 19 GSD workflows
│ ├── hooks/ ← hooks.json + scripts (gsd + superpowers)
│ ├── modes/ ← claude-mem.json
│ └── settings.json ← 450 lines: permissions + hooks config
├── .mcp.json ← 5 MCP servers (playwright, context7, deepwiki,
│ mcp-search, firecrawl)
├── docs/
│ ├── templates/ ← 39 GSD templates
│ └── setup/
│ └── headroom-install.sh ← pip install + mcp install
└── .planning/references/ ← 15 GSD planning referencesSetup đầy đủ — từ 0 đến chạy
Sau ais init, còn 5 tools cần setup thủ công. Làm theo thứ tự:
Bước 1: RTK — Lọc output CLI (-60-90% token)
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | shTác dụng: Mọi output từ terminal (build, test, git log...) được lọc tự động.
Bước 2: Headroom — Nén API traffic (-60-95% token)
pip install "headroom-ai[proxy]"
headroom mcp installDùng MCP (Claude tự gọi khi output lớn) hoặc proxy (auto 100% traffic):
# Terminal 1: start proxy
headroom proxy
# Terminal 2: dùng Claude Code qua proxy
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claudeBước 3: Claude Mem — Bộ nhớ xuyên session (cần chạy server)
Cài qua plugin marketplace (đã có trong project .mcp.json):
# Trong Claude Code:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-memHoặc clone thủ công:
git clone https://github.com/tnixc/claude-mem ~/.claude-mem
cd ~/.claude-mem && npm installCần chạy MCP server ở 1 terminal riêng:
# Terminal (giữ chạy):
node ~/.claude-mem/scripts/mcp-server.cjs
# hoặc nếu dùng plugin: plugin tự chạy serverTác dụng: Tự động ghi mọi quyết định/bug/feature vào DB → hôm sau /mem-search "bug auth hôm trước" tra được ngay.
Bước 4: CodeGraph — Semantic code search
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
codegraph init && codegraph index .Tác dụng: Thay Read file bằng smart_search + smart_outline — tiết kiệm 4-8x token.
Bước 5: Firecrawl — Web scraping MCP
export FIRECRAWL_API_KEY=sk-your-key
# Thêm vào ~/.zshrc hoặc .env để permanentChecklist hoàn chỉnh
| # | Tool | Lệnh | Xong? |
| :-: | ------------------ | ---------------------------------------------------------- | :---: |
| 1 | rtk | curl ...install.sh \| sh | ☐ |
| 2 | headroom MCP | pip install "headroom-ai[proxy]" && headroom mcp install | ☐ |
| 3 | headroom proxy | headroom proxy (start mỗi session) | ☐ |
| 4 | claude-mem | clone + chạy MCP server | ☐ |
| 5 | codegraph | curl ... \| sh && codegraph init && codegraph index . | ☐ |
| 6 | firecrawl | export FIRECRAWL_API_KEY=sk-... | ☐ |
Sau 6 bước → mọi thứ tự động, không cần config gì thêm khi code.
Cách dùng khi chat
Sau ais init + setup đủ 5 tools → chat với Claude như bình thường.
0. Từng tool — có cần "run" không?
Chia làm 3 nhóm:
| Nhóm | Cần làm | Ví dụ | | -------------------- | ----------------------------------------------------- | ------------------------ | | 🟢 Tự động | Setup 1 lần → xong. Chat với Claude là chạy. | RTK, Firecrawl | | 🟡 MCP server | Setup 1 lần + chạy background. Claude tự kết nối. | headroom MCP, claude-mem | | 🔴 Proxy | Mở terminal riêng + giữ chạy. Claude qua proxy. | headroom proxy | | 🟢 Chỉ cần index | Index 1 lần, chat là tự dùng. | CodeGraph |
🟢 RTK — chỉ cần cài, tự động lọc
# 1 lần duy nhất:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | shXong. Không cần chạy gì thêm. Từ giờ mỗi lần Claude chạy terminal:
npm test → filtered: 1423 lines → chỉ giữ 23 dòng quan trọng
git log → filtered: bỏ diff, chỉ giữ commit messages
cargo build → filtered: chỉ warning + errorKhi muốn output đầy đủ (rất hiếm), nói Claude:
chạy npm test --no-filter🟢 CodeGraph — chỉ cần index, chat là tự dùng
# 1 lần duy nhất:
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
codegraph init && codegraph index .Xong. Sau đó chat với Claude bình thường:
| Bạn nói | Claude tự gọi | Thay vì... |
| ------------------------------ | ----------------------------------------- | ----------------- |
| "tìm function updateUser" | smart_search "updateUser" → file + line | đọc toàn bộ file |
| "xem outline services/auth.ts" | smart_outline → all symbols | đọc file 300 dòng |
| "code function validateToken" | smart_unfold → chỉ function đó | đọc cả class |
| "UserController có method nào" | smart_search + smart_outline | grep + Read |
Không cần chạy server, không cần gõ lệnh tool. Cứ nói tự nhiên, Claude quyết định dùng CodeGraph khi thấy phù hợp.
🟡 Headroom MCP — cài xong + để MCP server chạy ngầm
# 1 lần:
pip install "headroom-ai[proxy]"
headroom mcp installMCP server được khai báo trong .mcp.json → Claude tự kết nối khi session bắt đầu. Không cần mở terminal riêng.
Khi chat, output dài tự động nén:
• Claude output >500 tokens → tự gọi headroom_compress
• Bạn thấy [compressed hash=abc123] trong chat
• Khi cần, Claude gọi headroom_retrieve lấy lại gốcDùng thủ công trong chat:
nén đoạn code này lại # headroom_compress
lấy lại nội dung hash abc123 # headroom_retrieve
headroom stats # xem thống kê: 85K tokens savedHeadroom learn — cuối session, nếu có lỗi:
headroom learn --apply
# → tự phân tích session fail → thêm rules vào CLAUDE.md (chạy terminal)🔴 Headroom proxy — cần terminal riêng (optional)
Chỉ dùng khi muốn nén 100% API traffic (không chỉ output lớn):
# Terminal 1 (giữ chạy):
headroom proxy
# Terminal 2:
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claude🟡 Claude Mem — cần chạy MCP server
Cài plugin trong Claude Code:
# Trong Claude Code:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-memHoặc clone thủ công:
git clone https://github.com/tnixc/claude-mem ~/.claude-mem
cd ~/.claude-mem && npm installCần chạy server (1 terminal riêng, nếu không chạy thì MCP không kết nối):
node ~/.claude-mem/scripts/mcp-server.cjs
# → http://localhost:37702Khi server đang chạy, chat bình thường:
# Session hôm sau — tra lại:
/mem-search "bug trùng order hôm trước"
# → trả về observations + timeline
# Học codebase lần đầu:
/learn-codebase
# Xem lịch sử:
/timeline-report🟢 Firecrawl — auto qua npx
# Chỉ cần set API key 1 lần:
export FIRECRAWL_API_KEY=sk-your-key # thêm vào ~/.zshrcFirecrawl dùng npx → auto fetch khi cần, không cần chạy gì.
Khi chat:
đọc bài viết này: https://example.com/blog/...
→ Claude tự gọi firecrawl MCP → markdown🟢 Pack codebase — slash command
/pack-local # nén project → XML
/pack-remote https://github.com/... # nén từ GitHubKhông cần setup, đã có sẵn trong project sau ais init.
Tóm tắt — tôi cần chạy gì?
┌───────────────────────────────────────────────────────────┐
│ Sau ais init + setup checklist: │
│ │
│ 🟢 RTK → cài 1 lần, auto │
│ 🟢 CodeGraph → index 1 lần, auto │
│ 🟡 headroom MCP → cài xong, Claude tự kết nối (MCP) │
│ 🟡 claude-mem → cần chạy server (background) │
│ 🟢 firecrawl → set API key, auto qua npx │
│ 🔴 headroom proxy → optional: tự start mỗi session │
│ │
│ 📌 headroom proxy luôn hiện trong checklist │
│ vì phải start thủ công mỗi session — không auto │
│ detect được. Nếu đã chạy → bỏ qua. │
│ │
│ 📌 mem0, browser-use, Prompt-Engineering-Guide... │
│ là REFERENCE — kiến thức merge vào CLAUDE.md, │
│ không phải tool. Không cần cài, không cần chạy. │
│ │
│ Kết luận: CHỈ chạy 1 server (claude-mem). │
│ Mọi thứ còn lại: cài 1 lần → chat với Claude. │
└───────────────────────────────────────────────────────────┘1. Code — không cần làm gì
thêm API GET /users với paginationRules + agents + MCP đã active sẵn. Claude tự động:
- Load rules → biết coding style
- Gọi agents khi cần (planner, code-reviewer...)
- Gọi headroom nếu output lớn
- Dùng codegraph để tìm code nhanh
2. Dùng slash commands
Khi cần workflow cụ thể:
| Bạn gõ | Nó làm |
| -------------------------- | ---------------------------------- |
| /brief "thêm user CRUD" | Sinh Task Brief → bạn duyệt → code |
| /plan "design database" | Sinh plan chi tiết |
| /tdd | Test-first: RED → GREEN → REFACTOR |
| /diagnose | Debug có hệ thống — tìm root cause |
| /code-review | Review toàn bộ diff |
| /pack-local | Nén codebase gửi AI review |
| /mem-search "từ khóa" | Tra memory từ session cũ |
| /learn-codebase | Prime memory với codebase |
| /prompt-master "ý tưởng" | Sinh prompt chuẩn cho AI tool khác |
3. Dùng agents
Gõ tên agent để invoke:
dùng code-reviewer review code này
planner
frontend-developer4. Token tự động tiết kiệm
rtk proxy → lọc output CLI (-60-90%)
codegraph → thay Read file (-4-8x)
headroom → nén API traffic (-60-95%)
→ Tổng: ~83-93% token savings (không cần làm gì)File map — cái gì ở đâu
project/.claude/
├── rules/ecc/ ← Coding standards (tự động áp dụng)
├── rules/project/ ← Workflow rules
├── agents/ ← 30+ agent (gõ tên)
├── skills/ ← 111 skills (load on demand)
├── commands/ ← 23 slash commands
├── workflows/gsd/ ← 19 GSD workflows
├── hooks/ ← Hooks + scripts
└── settings.json ← Permissions + hooks config
project/.mcp.json ← 5 MCP servers
project/CLAUDE.md ← Project context + guidelines
---
---
## 19 Plugins
| Pri | Plugin | Repo | Files | Nội dung |
|:---:|--------|------|:-----:|----------|
| 10 | **ecc** | ecc | 79 | 10 agents + 29 skills + 6 rule langs (dynamic scan) |
| 10 | **ecc-skills** | ecc | 29 | 9 core + 6 ts + 4 py + 2 go + 2 rs + 6 backend skills |
| 15 | **best-practice** | claude-code-best-practice | 6 | settings 443-line + hooks + MCP + /brief |
| 20 | **karpathy** | andrej-karpathy-skills | 3 | 4 behavioral principles → CLAUDE.md |
| 30 | **superpowers** | superpowers | 16 | 13 skills: TDD, debug, brainstorm, review + hooks |
| 35 | **subagents** | awesome-claude-code-subagents | 23 | 23 agents filtered từ 164 (by stack) |
| 35 | **mattpocock-skills** | mattpocock-skills | 19 | 18 skills: diagnose, tdd, grill-me, caveman... |
| 35 | **anthropic-skills** | skills | 25 | 17 official: claude-api, mcp-builder, webapp-testing... |
| 35 | **prompt-master** | prompt-master | 4 | 30+ profiles, 12 templates, 37 anti-patterns |
| 40 | **gsd** | gsd-core | 81 | 3 agents + 19 workflows + 15 refs + 32 templates + 4 hooks |
| 45 | **claude-mem** | claude-mem | 18 | 15 skills + mcp-search (Chroma + SQLite) + mode |
| 50 | **repomix** | repomix | 9 | pack-local/remote + 6 reviewer agents |
| 50 | **codegraph** | codegraph | 4 | SQLite knowledge graph + 2 skills (typescript only) |
| 60 | **rtk** | rtk | 23 | 6 cmds + 7 tech-cmds + 10 skills: -60-90% CLI token |
| 65 | **headroom** | headroom | 2 | headroom-usage skill + install.sh |
| 70 | **dify** | dify | 2 | frontend-testing, component-refactoring |
| 75 | **firecrawl** | firecrawl | 1 | MCP merge: URL→Markdown (cần FIRECRAWL_API_KEY) |
| 80 | **browser-use** | browser-use | 1 | CLAUDE.md reference: Python async + CDP |
| 80 | **mem0** | mem0 | 1 | CLAUDE.md reference: memory layer 24 LLM + 30 vector |
---
## Skills (typescript stack — ~111 total)
| Category | Skills | Count |
|----------|--------|:-----:|
| **ECC Core** | coding-standards, tdd-workflow, security-review, verification-loop, error-handling, terminal-ops, continuous-agent-loop, agentic-engineering, architecture-decision-records | 9 |
| **ECC Stack** | react-patterns, react-testing, react-performance, frontend-patterns, e2e-testing, frontend-design-direction, backend-patterns, api-design, postgres-patterns, docker-patterns, hexagonal-architecture, database-migrations | 12 |
| **Superpowers** | using-superpowers, brainstorming, requesting-code-review, verification-before-completion, writing-plans, writing-skills, finishing-a-development-branch, receiving-code-review, subagent-driven-development, systematic-debugging, dispatching-parallel-agents, executing-plans, using-git-worktrees | 13 |
| **GSD** | (via workflows + references, not skills dir) | — |
| **Claude Mem** | mem-search, babysit, make-plan, smart-explore, design-is, oh-my-issues, timeline-report, weekly-digests, do, how-it-works, knowledge-agent, learn-codebase, pathfinder, version-bump, wowerpoint | 15 |
| **Matt Pocock** | diagnose, grill-with-docs, triage, improve-codebase-architecture, tdd, to-issues, to-prd, zoom-out, prototype, caveman, grill-me, handoff, write-a-skill, git-guardrails-claude-code, migrate-to-shoehorn, scaffold-exercises, setup-pre-commit, setup-matt-pocock-skills | 18 |
| **Anthropic** | claude-api, webapp-testing, mcp-builder, skill-creator, frontend-design, docx, pdf, pptx, xlsx, algorithmic-art, brand-guidelines, canvas-design, doc-coauthoring, internal-comms, slack-gif-creator, theme-factory, web-artifacts-builder | 17 |
| **RTK** | code-simplifier, design-patterns, issue-triage, performance, pr-review, pr-triage, repo-recap, rtk-triage, security-guardian, ship | 10 |
| **headroom** | headroom-usage | 1 |
| **CodeGraph** | add-lang, agent-eval | 2 |
| **Karpathy** | karpathy-guidelines | 1 |
| **Prompt Master** | prompt-master | 1 |
| **Dify** | frontend-testing, component-refactoring | 2 |
| | **Tổng** | **~111** |
---
## Agents (32+)
| Agent | Source | Stack |
|-------|--------|-------|
| planner, code-reviewer, tdd-guide, architect, security-reviewer, build-error-resolver, code-explorer, e2e-runner, refactor-cleaner, harness-optimizer | ECC | * |
| gsd-planner, gsd-executor, gsd-verifier | GSD | * |
| reviewer-code-quality, reviewer-conventions, reviewer-holistic, reviewer-performance, reviewer-security, reviewer-test-coverage | Repomix | * |
| frontend-developer, typescript-pro, node-specialist, nextjs-developer, react-specialist, fullstack-developer | Subagents | typescript |
| code-reviewer, security-auditor, debugger, performance-engineer, build-engineer, mlops-engineer, research-analyst | Subagents | * |
---
## Commands (23)
| Command | Source | Chức năng |
|---------|--------|-----------|
| /brief | best-practice | Task Brief + prompt-master |
| /pack-local, /pack-remote | repomix | Pack codebase cho AI |
| /rtk:clean-worktree, /rtk:clean-worktrees | rtk | Clean git worktrees |
| /rtk:diagnose | rtk | Diagnostic analysis |
| /rtk:test-routing, /rtk:worktree-status, /rtk:worktree | rtk | Worktree management |
| /rtk:tech/* (7 commands) | rtk | Tech sub-commands |
---
## Hooks (9 events)
| Event | Hook | Async |
|-------|------|:-----:|
| SessionStart | superpowers-session-start | async |
| SessionStart | hooks.py (sound + log) | async |
| PreToolUse[Bash] | gsd-prompt-guard.js | async |
| PreToolUse[Bash] | gsd-context-monitor.js | async |
| PreToolUse[Write\|Edit] | gsd-workflow-guard.js | **sync** |
| PreToolUse[*] | hooks.py | async |
| PostToolUse[Write\|Edit] | gsd-validate-commit.sh | async |
| PostToolUse[*] | hooks.py | async |
| Stop | gsd-context-monitor.js --summarize | async |
---
## Development
```bash
cd aistack/ai/cli
npm install # Cài dependencies
npm run build # Compile TypeScript → dist/ (Node 22.6+)
npm run typecheck # TypeScript check (không emit)
npm test # Unit tests
npm run test:coverage # Test + coverage
npm run vendor:sync # Sync files từ repo-reference → data/vendor/
npm run verify-sources # Kiểm tra tất cả source files
# Dev mode (không cần build):
node --experimental-strip-types src/index.ts init .
# Publish lên npm (cần OTP từ authenticator app):
npm version patch # auto bump version + git tag
npm run build
npm publish --access public --otp=123456Thêm plugin mới
- Tạo
data/vendor/{repo}/với files cần thiết - Tạo
data/source-manifests/{name}.tsvớiSourceManifest - Push vào
manifestNames[]trongsrc/core/engine.ts - (Optional) Thêm vào
scripts/vendor-sync.tsnếu copy từ repo-reference
Synthesized plugins (headroom, firecrawl): vendor files tạo thủ công, không qua vendor-sync. Copied plugins (ecc, gsd, superpowers...): vendor-sync copy từ repo-reference.
Repo Reference (22 repos)
| Repo | Tác giả | Cung cấp | | --------------------------------- | -------------- | ------------------------------------------------------ | | ecc | affaan-m | 63 agents, 249 skills, rules 19 languages | | gsd-core | open-gsd | 3 agents, 19 workflows, 32 templates, 15 references | | claude-code-best-practice | shanraisshan | settings.json 443-line, hooks 27 events | | superpowers | obra | 13 skills, SessionStart hook | | claude-mem | thedotmack | 15 skills, Chroma+SQLite memory, MCP | | repomix | yamadashy | MCP server, 6 reviewer agents, Tree-sitter -70% | | skills (Anthropic) | anthropics | 17 official skills | | awesome-claude-code-subagents | VoltAgent | 164 agents (typescript/python/golang/rust...) | | andrej-karpathy-skills | multica-ai | 4 behavioral principles | | prompt-master | nidhinjs | 30+ profiles, 12 templates, 37 anti-patterns | | mattpocock-skills | mattpocock | 18 skills: engineering + productivity + misc | | codegraph | colbymchenry | SQLite knowledge graph, tree-sitter AST, MCP | | rtk | rtk-ai | Rust binary, -60-90% CLI token, 100+ filters | | dify | langgenius | 2 skills | | browser-use | browser-use | CLAUDE.md reference: LLM + CDP | | mem0 | mem0ai | CLAUDE.md reference: polyglot memory layer | | headroom | chopratejas | -60-95% compression, MCP: compress/retrieve/learn | | firecrawl | mendableai | Web scraping API: URL→Markdown, 96% coverage | | get-shit-done | gsd-build | Source gốc của gsd-core (reference only) | | awesome-claude-code | hesreallyhim | Index 100+ Claude Code resources (reference only) | | Prompt-Engineering-Guide | dair-ai | Educational content, 3M+ learners (reference only) | | TradingAgents | TauricResearch | Multi-agent trading simulation, arXiv (reference only) |
