npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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 CodeGemini 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_key

Zero 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 only

Flow — 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 session

Just 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 install

Dù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 claude

Proxy 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 claude

Lư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 .env hoặ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 plugin

Output 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 references

Setup đầ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 | sh

Tá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 install

Dù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 claude

Bướ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-mem

Hoặc clone thủ công:

git clone https://github.com/tnixc/claude-mem ~/.claude-mem
cd ~/.claude-mem && npm install

Cầ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 server

Tá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 để permanent

Checklist 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 | sh

Xong. 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 + error

Khi 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 install

MCP 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ốc

Dù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 saved

Headroom 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-mem

Hoặc clone thủ công:

git clone https://github.com/tnixc/claude-mem ~/.claude-mem
cd ~/.claude-mem && npm install

Cầ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:37702

Khi 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 ~/.zshrc

Firecrawl 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ừ GitHub

Khô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 pagination

Rules + 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-developer

4. 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=123456

Thêm plugin mới

  1. Tạo data/vendor/{repo}/ với files cần thiết
  2. Tạo data/source-manifests/{name}.ts với SourceManifest
  3. Push vào manifestNames[] trong src/core/engine.ts
  4. (Optional) Thêm vào scripts/vendor-sync.ts nế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) |