@azerogluemin/ai-bootstrap 0.2.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,167 @@ All notable changes to `@azerogluemin/ai-bootstrap` are documented here.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.1] — 2026-06-21
9
+
10
+ README rewrite — published so npm.com lands on the new usage guide.
11
+
12
+ ### Changed
13
+
14
+ - packages/cli/README.md — full rewrite (AZ):
15
+ - 2-step TL;DR quick start
16
+ - User scope vs. project scope explained with table
17
+ - 5 real workflow scenarios (Creator/IG, SaaS, SMM, add bundle, remove)
18
+ - All commands grouped by purpose (setup, mgmt, MCP, backup, telemetry)
19
+ - 63 MCP server categorized list
20
+ - Troubleshooting section (5 common issues)
21
+ - No functional code changes vs. 0.4.0.
22
+
23
+ [0.4.1]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.4.1
24
+
25
+ ## [0.4.0] — 2026-06-21
26
+
27
+ Incremental skill + agent management — add / remove / list.
28
+
29
+ ### Added
30
+
31
+ - **`ai-bootstrap add <names>`** — install additional skills or agents
32
+ - Auto-detects skill vs agent by template lookup
33
+ - `--bundle <name>` merges an entire bundle
34
+ - Auto-detects scope (project if CLAUDE.md / .claude/ in cwd, else user)
35
+ - `--user` / `--project` flags force scope
36
+ - **`ai-bootstrap remove <names>` (alias: `rm`)** — uninstall skills/agents
37
+ - Same scope auto-detection
38
+ - Removes from both skills/ and agents/ if name matches both
39
+ - **`ai-bootstrap list` (alias: `ls`)** — list installed skills/agents
40
+ - Current scope by default
41
+ - `--user`, `--project`, or `--all` flags
42
+ - `--all` shows user scope + current project side-by-side
43
+
44
+ ### Why
45
+
46
+ v0.3.0 introduced `new` for project bootstrap with a single bundle. But real
47
+ users hit edge cases:
48
+ - Picked `developer` bundle, later need `showrunner` for a marketing page
49
+ - Picked `creator`, later need `seo-technical` for SEO audit
50
+ - Want to remove unused skills to reduce context noise
51
+
52
+ `add` / `remove` / `list` give granular control without re-running the whole wizard.
53
+
54
+ ### Workflow examples
55
+
56
+ ```bash
57
+ # Already have a developer-bundle project, need creator skills too:
58
+ ai-bootstrap add showrunner character-designer image-prompt-engineer
59
+
60
+ # Or merge whole creator bundle on top:
61
+ ai-bootstrap add --bundle creator
62
+
63
+ # See what's installed in this project:
64
+ ai-bootstrap list
65
+
66
+ # See user + project side by side:
67
+ ai-bootstrap list --all
68
+
69
+ # Drop a skill you don't use:
70
+ ai-bootstrap remove security-auditor
71
+ ```
72
+
73
+ ### Tests
74
+
75
+ - New e2e tests: add help, list empty user scope, remove non-existent graceful
76
+ - 134 passing (was 131): 87 smoke + 47 e2e
77
+
78
+ [0.4.0]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.4.0
79
+
80
+ ## [0.3.0] — 2026-06-21
81
+
82
+ Project-scope skills + agents — different bundles per project.
83
+
84
+ ### Added
85
+
86
+ - **`ai-bootstrap new` subcommand** — bootstrap any folder as a project:
87
+ 1. Ask the project name (defaults to folder name)
88
+ 2. Ask "what is this project?" with 9 intent choices that auto-map to a bundle:
89
+ - SaaS / Fullstack → developer
90
+ - AI Creator content → creator
91
+ - Marketing / SMM → marketer
92
+ - Mobile app → developer
93
+ - Data analysis / dashboard → developer
94
+ - Client agency work → full-stack
95
+ - Startup / founder → founder
96
+ - Open source library → developer
97
+ - Just basics → foundation
98
+ 3. Allow bundle override
99
+ 4. Ask for 1-2 sentence project description (goes into CLAUDE.md)
100
+ 5. Allow custom project-specific rules
101
+ 6. Install skills to `<project>/.claude/skills/` (PROJECT scope)
102
+ 7. Install agents to `<project>/.claude/agents/` (PROJECT scope)
103
+ 8. Write `<project>/CLAUDE.md` with project metadata + bundle reference
104
+ 9. Save state to `<project>/.claude/ai-bootstrap-project.json`
105
+
106
+ ### Why this matters
107
+
108
+ Previously, ai-bootstrap installed ONE bundle globally (`~/.claude/`). Every
109
+ project saw the same skill set. Real users have multiple identities — AI
110
+ creator on Monday, full-stack dev on Tuesday, marketer on Wednesday — and
111
+ need different skills per project.
112
+
113
+ Claude Code's project-scope skills (`<project>/.claude/skills/`) load ONLY
114
+ when working inside that project. This gives you the right tools per context
115
+ without polluting every session.
116
+
117
+ ### Changed
118
+
119
+ - `installSkills(names, targetDir?)` — second arg defaults to `~/.claude/skills/`
120
+ for backward compat; project install passes `<project>/.claude/skills/`
121
+ - `installAgents(names, targetDir?)` — same pattern
122
+ - Help text reorganized: user-scope wizard vs project-scope `new`
123
+
124
+ ### Testing
125
+
126
+ - New smoke test: 'project-scope install' — verifies skills install to
127
+ project dir, user-scope dir NOT affected
128
+ - E2E test updated for help text changes
129
+ - 127 tests passing (was 124)
130
+
131
+ ### Workflow
132
+
133
+ ```bash
134
+ # Once per machine — universal foundation:
135
+ npx @azerogluemin/ai-bootstrap # picks foundation/minimal user-scope
136
+
137
+ # Then per project:
138
+ cd ~/Projects/my-saas && ai-bootstrap new # → developer bundle
139
+ cd ~/Projects/azerogluemin-content && ai-bootstrap new # → creator bundle
140
+ cd ~/Clients/restaurant-smm && ai-bootstrap new # → marketer bundle
141
+ ```
142
+
143
+ Each project sees only its own bundle. No skill pollution.
144
+
145
+ [0.3.0]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.3.0
146
+
147
+ ## [0.2.2] — 2026-06-21
148
+
149
+ User-autonomy fixes from first real-world test feedback.
150
+
151
+ ### Fixed
152
+
153
+ - **Wizard step 6 (GitHub backup) over-validated URLs**:
154
+ - Now accepts both SSH (`git@github.com:user/repo`) and HTTPS
155
+ - Empty input is now allowed → defer URL to `ai-bootstrap backup init` later
156
+ - User no longer locked into giving a URL at wizard time
157
+ - **`backup init` refused public repos outright**:
158
+ - Now warns + asks for explicit confirmation instead of hard-blocking
159
+ - Rationale: user autonomy — the user knows their threat model
160
+
161
+ ### Why
162
+
163
+ In v0.2.1 test, the wizard rejected a valid SSH URL and refused to proceed.
164
+ Two design errors: (1) regex was https-only, (2) URL was mandatory if user
165
+ said "yes" to backup. Both fixed.
166
+
167
+ [0.2.2]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.2.2
168
+
8
169
  ## [0.2.1] — 2026-06-21
9
170
 
10
171
  First published version on npm.
package/README.md CHANGED
@@ -1,139 +1,347 @@
1
1
  # @azerogluemin/ai-bootstrap
2
2
 
3
- > Personal AI infrastructure bootstrap for Claude Code one command sets up skills, agents, MCPs, and cross-project memory.
3
+ > **Bir komanda. Hər layihə. Hər maşın. Claude Code hər şeyi yadda saxlayır.**
4
4
 
5
+ [![npm](https://img.shields.io/npm/v/@azerogluemin/ai-bootstrap.svg?logo=npm&label=npm)](https://www.npmjs.com/package/@azerogluemin/ai-bootstrap)
5
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
- [![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/)
7
7
  [![Node ≥22](https://img.shields.io/badge/Node-%E2%89%A522-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
8
- [![GitHub](https://img.shields.io/badge/GitHub-eminazeroglu%2Fai--bootstrap-181717?logo=github)](https://github.com/eminazeroglu/ai-bootstrap)
9
8
 
10
- ## Quick start
9
+ ## TL;DR — 2 addım
11
10
 
12
11
  ```bash
12
+ # 1) Bir dəfə bütün maşına (foundation: 10 universal skill)
13
13
  npx @azerogluemin/ai-bootstrap
14
+
15
+ # 2) Hər yeni layihədə (bundle: layihənin növünə uyğun skill-lər)
16
+ cd ~/Projects/yeni-layihə
17
+ ai-bootstrap new
14
18
  ```
15
19
 
16
- Interactive 6-step setup:
20
+ Bitdi. Hər layihədə sadəcə `claude` yaz — uyğun skill + agent dəstləri özü yüklənir.
21
+
22
+ ---
23
+
24
+ ## Necə işləyir — 2 səviyyəli skill sistemi
17
25
 
18
- 1. **Profile** name, role, languages, experience, 6/12/24-month goals
19
- 2. **Projects** — scan your folders, catalog projects with CLAUDE.md detection
20
- 3. **Bundles** — pick skill + agent bundle:
21
- - `foundation` — 10 essential skills, 2 agents (smallest)
22
- - `developer` — 21 skills, 18 agents (engineering focus)
23
- - `marketer` — 24 skills, 29 agents (SEO + social + growth)
24
- - `creator` — 26 skills, 13 agents (video, music, storyboard)
25
- - `founder` — 35 skills, 38 agents (C-Level + business + product)
26
- - `full-stack` — 52+ skills, 75+ agents (everything)
27
- 4. **MCPs** — pick from 63 Model Context Protocol servers (github, postgres, supabase, notion, slack, atlassian, gmail, twilio, sendgrid, spotify, kubernetes, …)
28
- 5. **Memory** — markdown + git knowledge architecture (25-50× faster than vector DB at <100K entries)
29
- 6. **GitHub** — optional `~/.claude/` backup repo
26
+ Claude Code skill-ləri **2 səviyyəlidir**:
30
27
 
31
- Result: a Claude Code workstation that remembers everything across projects, machines, and sessions.
28
+ | Səviyyə | Yer | vaxt yüklənir |
29
+ |---|---|---|
30
+ | **User scope** (qlobal) | `~/.claude/skills/` | Hər layihədə, hər session-da |
31
+ | **Project scope** (lokal) | `<layihə>/.claude/skills/` | YALNIZ o qovluqda |
32
32
 
33
- ## What you get
33
+ ai-bootstrap bunun ikisini də idarə edir:
34
+ - **`npx @azerogluemin/ai-bootstrap`** → user scope (foundation: 10 əsas skill, universal lazımdır)
35
+ - **`ai-bootstrap new`** → project scope (layihə növünə uyğun bundle)
34
36
 
35
- - **85+ production skills** spanning Foundation, Product, Marketing, Social, Creator, Graphic Design, Coaching, Productivity, Engineering, C-Level Advisory, Verticals
36
- - **75+ specialized agents** including SEO suite (18), C-Level mirrors (10), Engineering (14), Social orchestrators (5), Marketing (6), Vertical specialists (8), Product team (5)
37
- - **63 MCP servers** in catalog with real install commands + OAuth/credential helpers (stdio + HTTP transports)
38
- - **Universal CLAUDE.md** with 8 foundation rules (docs-first, learning-keeper auto-promotion, dürüst dialoq, etc.)
39
- - **Knowledge skeleton**: `user-profile`, `mistakes-log`, `verified-facts`, `user-rules`, `patterns`, `handoff-log`, language guides, projects manifest
40
- - **Interactive permission gates** via Claude Code's settings.json
37
+ Beləliklə **AI Creator** layihən **SaaS** layihən fərqli skill dəstləri görür. Token israfı yoxdur.
41
38
 
42
- ## Commands
39
+ ---
40
+
41
+ ## İlk dəfə qurulum (bir dəfə maşına)
43
42
 
44
43
  ```bash
45
- # Default
46
- ai-bootstrap # Interactive 6-step wizard
44
+ npx @azerogluemin/ai-bootstrap
45
+ ```
47
46
 
48
- # Sync + diagnose
49
- ai-bootstrap update # Re-sync skills + agents from latest bundle
50
- ai-bootstrap doctor # Diagnose install health (symlinks, MCPs, creds)
47
+ Wizard 6 addım soruşur:
51
48
 
52
- # MCP management
53
- ai-bootstrap mcp list # List all 63 MCP servers available
54
- ai-bootstrap mcp installed # List MCPs configured on this machine
55
- ai-bootstrap mcp credentials # Interactively fill MCP credentials
49
+ 1. **Profile** — adın, rolun, dillərin, 6/12/24 ay məqsədlərin
50
+ 2. **Projects** mövcud layihələri scan etmək istəyirsən? (boş burax — sonra qurarsan)
51
+ 3. **Bundle** **`foundation`** seç (qlobal yalnız əsas 10 skill lazımdır; qalanlar project scope-da)
52
+ 4. **MCPs** — istədiyin MCP server-ləri seç (məs. github, instagram, brave-search)
53
+ 5. **Memory** — `markdown-only` (default tövsiyə)
54
+ 6. **GitHub backup** — istərsən qur, istəməsən boş burax (sonra `ai-bootstrap backup init`)
56
55
 
57
- # Git backup of ~/.claude/
58
- ai-bootstrap backup init # Initialize: git init + remote + first push
59
- ai-bootstrap backup sync # Stage + commit + push current state
60
- ai-bootstrap backup pull # Restore on a new machine
61
- ai-bootstrap backup status # Show remote + last sync
56
+ Yoxla:
57
+ ```bash
58
+ ai-bootstrap doctor
59
+ ```
60
+ Hər şey olmalıdır.
62
61
 
63
- # Telemetry (opt-in, default OFF)
64
- ai-bootstrap telemetry status # Show current setting
65
- ai-bootstrap telemetry on # Opt in (anonymous: version, bundles, MCP IDs)
66
- ai-bootstrap telemetry off # Opt out
62
+ MCP credential əlavə et (məs. github, instagram tokenları):
63
+ ```bash
64
+ ai-bootstrap mcp credentials
65
+ ```
67
66
 
68
- # Meta
69
- ai-bootstrap --version
70
- ai-bootstrap --help
67
+ `~/.zshrc`-ə (yaxud `~/.bashrc`) bir dəfə əlavə et:
68
+ ```bash
69
+ echo 'set -a; [ -f ~/.ai-bootstrap.env ] && source ~/.ai-bootstrap.env; set +a' >> ~/.zshrc
70
+ source ~/.zshrc
71
71
  ```
72
72
 
73
- ## Architecture (3-layer memory)
73
+ ---
74
+
75
+ ## Hər yeni layihədə (1 komanda)
74
76
 
77
+ ```bash
78
+ cd ~/Projects/yeni-layihə
79
+ ai-bootstrap new
75
80
  ```
76
- Layer 1: ~/.claude/CLAUDE.md — universal rules loaded every session
77
- Layer 2: ~/.claude/knowledge/ — cross-project markdown memory
78
- Layer 3: learning-keeper skill — auto-captures corrections + promotes
79
- project knowledge universal when applicable
81
+
82
+ Wizard soruşur: **"Bu qovluqda etmək istəyirsən?"**
83
+
84
+ | Sənin cavab | Bundle | Skill | Agent |
85
+ |---|---|---|---|
86
+ | SaaS / Fullstack web app | `developer` | 21 | 18 |
87
+ | AI Creator content | `creator` | 26 | 13 |
88
+ | Marketing / SMM | `marketer` | 24 | 29 |
89
+ | Mobile app | `developer` | 21 | 18 |
90
+ | Data analysis / dashboard | `developer` | 21 | 18 |
91
+ | Client agency work | `full-stack` | 52+ | 75+ |
92
+ | Startup / founder | `founder` | 35 | 38 |
93
+ | Open source library | `developer` | 21 | 18 |
94
+ | Just basics | `foundation` | 10 | 2 |
95
+
96
+ Yazır:
97
+ - `<layihə>/.claude/skills/` — layihəyə xas skill-lər
98
+ - `<layihə>/.claude/agents/` — layihəyə xas agent-lər
99
+ - `<layihə>/CLAUDE.md` — layihə qaydaları + təsvir
100
+
101
+ İndi:
102
+ ```bash
103
+ claude
80
104
  ```
105
+ Yalnız bu layihənin skill dəsti yüklənir.
81
106
 
82
- ## Files written
107
+ ---
83
108
 
84
- | Path | Purpose |
85
- |---|---|
86
- | `~/.claude/CLAUDE.md` | Universal foundation rules |
87
- | `~/.claude/settings.json` | Permissions, model preference, hooks |
88
- | `~/.claude/knowledge/*.md` | Cross-project knowledge |
89
- | `~/.claude/skills/<name>/` | Installed skill (copied from template) |
90
- | `~/.claude/agents/<name>/` | Installed agent (copied from template) |
91
- | `~/.claude.json` | MCP server configs (Claude Code reads this) |
92
- | `~/.claude/mcp-tracking.json` | ai-bootstrap metadata: which MCPs, what creds needed |
93
- | `~/.claude/ai-bootstrap-state.json` | Saved bundle selection (for `update`) |
94
- | `~/.ai-bootstrap.env` | MCP credentials (chmod 600, source in shell) |
109
+ ## Real istifadə nümunələri
95
110
 
96
- ## MCP credentials
111
+ ### Senaryo 1: AI Creator layihəsi (məs. Instagram brand)
97
112
 
98
- After setup, fill credentials:
113
+ ```bash
114
+ mkdir -p ~/Projects/azerogluemin-content && cd ~/Projects/azerogluemin-content
115
+ ai-bootstrap new
116
+ # Soruşur → "AI Creator content" seç → creator bundle
117
+ # 26 skill: showrunner, character-designer, image-prompt-engineer,
118
+ # video-prompt-engineer, youtube-thumbnail-designer,
119
+ # brand-identity-designer, instagram-expert, ...
120
+ # 13 agent: video-pipeline, storyboard-orchestrator, sound-designer, ...
121
+
122
+ claude
123
+ > "10 günlük IG content calendar yarat — AZ-də, mövzu AI-creator workflow"
124
+ > "Reel hook yaz: developer → AI creator pivot"
125
+ > "YouTube thumbnail dizayn et: AI bootstrap launch"
126
+ ```
127
+
128
+ ### Senaryo 2: SaaS layihə
99
129
 
100
130
  ```bash
101
- ai-bootstrap mcp credentials
131
+ mkdir -p ~/Projects/restoran-crm && cd ~/Projects/restoran-crm
132
+ ai-bootstrap new
133
+ # → "SaaS / Fullstack web app" → developer bundle
134
+ # 21 skill: architect, backend, frontend, devops, security-auditor, ...
135
+ # 18 agent: code-reviewer, backend-engineer, frontend-engineer, db-migrator, ...
136
+
137
+ claude
138
+ > "Multi-tenant restoran CRM arxitekturası dizayn et"
139
+ > "Postgres RLS policy yaz hər tenant üçün"
102
140
  ```
103
141
 
104
- This writes `~/.ai-bootstrap.env` (chmod 600). Source in your shell so Claude Code picks up `${VAR}` substitutions in `~/.claude.json`:
142
+ ### Senaryo 3: Müştəri SMM işi
105
143
 
106
144
  ```bash
107
- # In ~/.zshrc or ~/.bashrc:
108
- set -a; source ~/.ai-bootstrap.env; set +a
145
+ mkdir -p ~/Clients/restoran-smm && cd ~/Clients/restoran-smm
146
+ ai-bootstrap new
147
+ # → "Marketing / SMM" → marketer bundle
148
+ # 24 skill: seo-optimizer, copywriter-pro, social-strategist,
149
+ # paid-ads-strategist, content-strategist, ...
150
+ # 29 agent: 18 SEO agent + social orchestrators + marketing agents
151
+
152
+ claude
153
+ > "Restoran üçün 30 günlük IG content plan + Reel hook-lar"
154
+ > "SEO audit et müştərinin saytında"
109
155
  ```
110
156
 
111
- ## Requirements
157
+ ### Senaryo 4: Bundle əskik gəlir, əlavə skill lazımdır
112
158
 
113
- - **Node.js ≥ 22** — uses native ESM, fs/promises, modern path helpers
114
- - **macOS / Linux / WSL2** — primary targets (Windows native is best-effort)
115
- - **Disk** ~3 MB for templates + your generated `~/.claude/` content
159
+ ```bash
160
+ cd ~/Projects/restoran-crm # developer bundle qurulub
161
+ # İndi müştəri marketing landing page istəyir, creator skill-ləri lazımdır:
162
+ ai-bootstrap add showrunner image-prompt-engineer brand-identity-designer
163
+
164
+ # Yaxud bütün creator bundle əlavə et:
165
+ ai-bootstrap add --bundle creator
166
+ ```
167
+
168
+ ### Senaryo 5: İstifadə etmədiyini sil
169
+
170
+ ```bash
171
+ ai-bootstrap list # bu layihənin skill-ləri
172
+ ai-bootstrap list --all # user + bu layihə yan-yana
173
+ ai-bootstrap remove security-auditor # silmək
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Bütün komandalar
179
+
180
+ ### Setup + sync
181
+ ```bash
182
+ npx @azerogluemin/ai-bootstrap # ilk qurulum (user scope, bir dəfə)
183
+ ai-bootstrap new # bu qovluğa layihə bundle (hər layihədə)
184
+ ai-bootstrap update # yeni versiyada skill-ləri yenilə
185
+ ai-bootstrap doctor # sağlamlıq yoxlaması
186
+ ```
187
+
188
+ ### Skill management
189
+ ```bash
190
+ ai-bootstrap add <name1> <name2> # konkret skill/agent əlavə
191
+ ai-bootstrap add --bundle <name> # bütün bundle əlavə
192
+ ai-bootstrap remove <name> # sil (alias: rm)
193
+ ai-bootstrap list # bu scope-da quraşdırılanlar
194
+ ai-bootstrap list --all # user + project hamısı (alias: ls)
195
+ ai-bootstrap list --user # yalnız user scope
196
+ ai-bootstrap list --project # yalnız bu layihə
197
+ ```
116
198
 
117
- ## Development
199
+ ### MCP servers (Instagram, GitHub, Supabase və s.)
200
+ ```bash
201
+ ai-bootstrap mcp list # 63 mövcud MCP göstər
202
+ ai-bootstrap mcp installed # quraşdırılan MCP-lər
203
+ ai-bootstrap mcp credentials # token-ləri əlavə et
204
+ ```
205
+
206
+ ### Backup (xeyrli)
207
+ ```bash
208
+ ai-bootstrap backup init # private GitHub repo-ya bağla
209
+ ai-bootstrap backup sync # dəyişikliyi push et
210
+ ai-bootstrap backup pull # yeni maşında bərpa
211
+ ai-bootstrap backup status # son sinx + remote
212
+ ```
213
+
214
+ ### Telemetry (default OFF, opt-in)
215
+ ```bash
216
+ ai-bootstrap telemetry on/off/status
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Bundle siyahısı
222
+
223
+ | Bundle | Skill | Agent | Nə üçün |
224
+ |---|---|---|---|
225
+ | `foundation` | 10 | 2 | Universal əsas — user scope-a tövsiyə |
226
+ | `developer` | 21 | 18 | SaaS, fullstack, mobile, data, open source |
227
+ | `creator` | 26 | 13 | Video, Reel, sosial content, brand |
228
+ | `marketer` | 24 | 29 | SEO, SMM, copywriting, ads (18 SEO agent) |
229
+ | `founder` | 35 | 38 | C-Level advisory + product + marketing |
230
+ | `full-stack` | 52+ | 75+ | Hamısı — multi-rol agency işi |
231
+
232
+ Tam siyahı: `npx @azerogluemin/ai-bootstrap mcp list` (MCP-lər) yaxud GitHub repo-da [packages/templates/](https://github.com/eminazeroglu/ai-bootstrap/tree/main/packages/templates).
233
+
234
+ ---
235
+
236
+ ## 63 MCP server (real install komanda-ları ilə)
237
+
238
+ **Dev**: github, gitlab, filesystem, git, fetch, puppeteer, playwright, vercel, cloudflare, aws, netlify, brave-search, firecrawl, tavily, exa, kubernetes, browserbase, apify, time
239
+
240
+ **Data**: postgres, supabase, mongodb, sqlite, redis, airtable
241
+
242
+ **Productivity**: notion, linear, obsidian, slack, discord, memory, atlassian (Jira + Confluence), trello, asana, clickup
243
+
244
+ **Social**: instagram, twitter, meta, youtube, linkedin, tiktok, telegram
245
+
246
+ **AI**: openai, anthropic, elevenlabs, replicate, perplexity
247
+
248
+ **Creator**: figma, spotify, youtube-transcript
249
+
250
+ **Business**: stripe, hubspot, salesforce, twilio, sendgrid
251
+
252
+ **Analytics**: ga4, sentry, posthog
253
+
254
+ **Research**: arxiv
255
+
256
+ **Google Workspace** (HTTP/OAuth): gmail, google-drive, google-calendar, google-chat
257
+
258
+ ---
259
+
260
+ ## 3 səviyyəli yaddaş
261
+
262
+ ```
263
+ ~/.claude/CLAUDE.md ← universal qaydalar (hər session)
264
+ ~/.claude/knowledge/ ← cross-layihə yaddaş (markdown + git)
265
+ learning-keeper skill ← səhvləri yadda saxlayır, qaydaya çevirir
266
+ ```
267
+
268
+ learning-keeper skill xüsusi: söhbətdə düzəliş edirsənsə ("yox elə yox, belə"), bu skill o düzəlişi `~/.claude/knowledge/mistakes-log.md`-ə yazır. Növbəti dəfə həmin səhvi etməyəcək.
269
+
270
+ ---
271
+
272
+ ## Files written
273
+
274
+ | Yer | Nə üçün |
275
+ |---|---|
276
+ | `~/.claude/CLAUDE.md` | Universal foundation qaydalar |
277
+ | `~/.claude/settings.json` | Permission, model, hook |
278
+ | `~/.claude/knowledge/*.md` | Cross-layihə yaddaş |
279
+ | `~/.claude/skills/<name>/` | User-scope skill (qlobal) |
280
+ | `~/.claude/agents/<name>/` | User-scope agent (qlobal) |
281
+ | `~/.claude.json` | MCP server konfiqurasiyaları |
282
+ | `~/.claude/mcp-tracking.json` | ai-bootstrap metadata |
283
+ | `~/.ai-bootstrap.env` | MCP credential-lar (chmod 600) |
284
+ | `<layihə>/CLAUDE.md` | Layihə qaydaları |
285
+ | `<layihə>/.claude/skills/` | Project-scope skill (yalnız bu qovluqda) |
286
+ | `<layihə>/.claude/agents/` | Project-scope agent |
287
+ | `<layihə>/.claude/ai-bootstrap-project.json` | Layihə bundle state |
288
+
289
+ ---
290
+
291
+ ## Tələblər
292
+
293
+ - **Node.js ≥ 22**
294
+ - **macOS / Linux / WSL2** — primary; Windows native best-effort
295
+ - **Disk**: ~3 MB templates + sənin yaratdığın yaddaş
296
+
297
+ ---
298
+
299
+ ## Problem həlli
300
+
301
+ ### `ai-bootstrap: command not found`
302
+ `npx @azerogluemin/ai-bootstrap` ilə qaçırılırsa global yox. Düzəliş: ya `npm i -g @azerogluemin/ai-bootstrap`, yaxud həmişə `npx @azerogluemin/ai-bootstrap@latest <command>`.
303
+
304
+ ### `npm publish` 404
305
+ Scope səhvdir. Paket adı `@<sənin npm username>/...` ilə başlamalıdır.
306
+
307
+ ### `ai-bootstrap doctor` failure göstərir
308
+ - Symlink qırılıbsa → `ai-bootstrap update` qaçır
309
+ - MCP creds yoxdursa → `ai-bootstrap mcp credentials`
310
+ - CLAUDE.md yoxdursa → `npx @azerogluemin/ai-bootstrap` yenidən qaçır
311
+
312
+ ### Skill aktivləşmir Claude-da
313
+ - Doğru qovluqda olduğunu yoxla (`pwd`)
314
+ - Project scope qurulubsa → `<layihə>/.claude/skills/` mövcuddur?
315
+ - `ai-bootstrap list` ilə təsdiq et
316
+
317
+ ### MCP server connect olmur
318
+ - `~/.ai-bootstrap.env`-də credential-lar var?
319
+ - Shell yenidən load et: `source ~/.zshrc`
320
+ - `ai-bootstrap doctor` yoxla
321
+
322
+ ---
323
+
324
+ ## Development (contribute etmək üçün)
118
325
 
119
326
  ```bash
120
327
  git clone https://github.com/eminazeroglu/ai-bootstrap.git
121
328
  cd ai-bootstrap
122
329
 
123
- pnpm install # install monorepo deps
330
+ pnpm install
124
331
  pnpm --filter @azerogluemin/ai-bootstrap build
125
- pnpm --filter @azerogluemin/ai-bootstrap test # runs 124 tests (81 smoke + 43 e2e)
126
-
127
- # Run locally without npx
128
- node packages/cli/bin/init.js
332
+ pnpm --filter @azerogluemin/ai-bootstrap test # 134+ test (smoke + e2e)
129
333
 
130
- # Test in isolated HOME (no risk to your real ~/.claude/)
334
+ # Lokal test isolated HOME-da:
131
335
  HOME=/tmp/ab-sandbox node packages/cli/bin/init.js
132
336
  ```
133
337
 
338
+ Detallı [CONTRIBUTING.md](https://github.com/eminazeroglu/ai-bootstrap/blob/main/CONTRIBUTING.md).
339
+
340
+ ---
341
+
134
342
  ## License
135
343
 
136
- MIT — fork, modify, distribute freely.
344
+ [MIT](./LICENSE) — fork, modify, distribute.
137
345
 
138
346
  ## Author
139
347
 
@@ -143,4 +351,5 @@ Built by [Emin Azəroğlu](https://github.com/eminazeroglu) ([@azerogluemin_ai](
143
351
 
144
352
  - [GitHub repo](https://github.com/eminazeroglu/ai-bootstrap)
145
353
  - [Issues](https://github.com/eminazeroglu/ai-bootstrap/issues)
146
- - [npm](https://www.npmjs.com/package/@azerogluemin/ai-bootstrap)
354
+ - [Changelog](./CHANGELOG.md)
355
+ - [Security policy](https://github.com/eminazeroglu/ai-bootstrap/blob/main/SECURITY.md)
@@ -9,4 +9,10 @@ export interface AgentInstallResult {
9
9
  error: string;
10
10
  }[];
11
11
  }
12
- export declare function installAgents(agentNames: string[]): AgentInstallResult;
12
+ /**
13
+ * Install agents into a target agents directory.
14
+ * @param agentNames List of agent IDs to install
15
+ * @param targetAgentsDir Absolute path. Default `~/.claude/agents/`; pass
16
+ * `<project>/.claude/agents/` for project-scope.
17
+ */
18
+ export declare function installAgents(agentNames: string[], targetAgentsDir?: string): AgentInstallResult;
@@ -21,13 +21,19 @@ function templatesAgentsPath() {
21
21
  }
22
22
  return candidates[0];
23
23
  }
24
- export function installAgents(agentNames) {
24
+ /**
25
+ * Install agents into a target agents directory.
26
+ * @param agentNames List of agent IDs to install
27
+ * @param targetAgentsDir Absolute path. Default `~/.claude/agents/`; pass
28
+ * `<project>/.claude/agents/` for project-scope.
29
+ */
30
+ export function installAgents(agentNames, targetAgentsDir = AGENTS_DIR) {
25
31
  const result = {
26
32
  installed: [],
27
33
  skipped: [],
28
34
  errors: [],
29
35
  };
30
- ensureDir(AGENTS_DIR);
36
+ ensureDir(targetAgentsDir);
31
37
  const templatesDir = templatesAgentsPath();
32
38
  if (!existsSync(templatesDir)) {
33
39
  for (const name of agentNames) {
@@ -40,7 +46,7 @@ export function installAgents(agentNames) {
40
46
  }
41
47
  for (const name of agentNames) {
42
48
  const sourceDir = join(templatesDir, name);
43
- const targetDir = join(AGENTS_DIR, name);
49
+ const targetDir = join(targetAgentsDir, name);
44
50
  if (!existsSync(sourceDir)) {
45
51
  result.skipped.push({
46
52
  agent: name,
@@ -1 +1 @@
1
- {"version":3,"file":"agents-installer.js","sourceRoot":"","sources":["../../src/applier/agents-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-installer.js","sourceRoot":"","sources":["../../src/applier/agents-installer.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,10 @@ export interface SkillInstallResult {
9
9
  error: string;
10
10
  }[];
11
11
  }
12
- export declare function installSkills(skillNames: string[]): SkillInstallResult;
12
+ /**
13
+ * Install skills into a target skills directory.
14
+ * @param skillNames List of skill IDs to install
15
+ * @param targetSkillsDir Absolute path to the skills directory (default: `~/.claude/skills/`).
16
+ * Pass `<project>/.claude/skills/` for project-scope installation.
17
+ */
18
+ export declare function installSkills(skillNames: string[], targetSkillsDir?: string): SkillInstallResult;