@azerogluemin/ai-bootstrap 0.2.1 → 0.4.0
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 +144 -0
- package/dist/applier/agents-installer.d.ts +7 -1
- package/dist/applier/agents-installer.js +9 -3
- package/dist/applier/agents-installer.js.map +1 -1
- package/dist/applier/skills-installer.d.ts +7 -1
- package/dist/applier/skills-installer.js +9 -3
- package/dist/applier/skills-installer.js.map +1 -1
- package/dist/commands/backup.js +10 -3
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/new.d.ts +1 -0
- package/dist/commands/new.js +198 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/skills.d.ts +3 -0
- package/dist/commands/skills.js +306 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/steps/6-github.js +13 -3
- package/dist/steps/6-github.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,150 @@ 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.0] — 2026-06-21
|
|
9
|
+
|
|
10
|
+
Incremental skill + agent management — add / remove / list.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`ai-bootstrap add <names>`** — install additional skills or agents
|
|
15
|
+
- Auto-detects skill vs agent by template lookup
|
|
16
|
+
- `--bundle <name>` merges an entire bundle
|
|
17
|
+
- Auto-detects scope (project if CLAUDE.md / .claude/ in cwd, else user)
|
|
18
|
+
- `--user` / `--project` flags force scope
|
|
19
|
+
- **`ai-bootstrap remove <names>` (alias: `rm`)** — uninstall skills/agents
|
|
20
|
+
- Same scope auto-detection
|
|
21
|
+
- Removes from both skills/ and agents/ if name matches both
|
|
22
|
+
- **`ai-bootstrap list` (alias: `ls`)** — list installed skills/agents
|
|
23
|
+
- Current scope by default
|
|
24
|
+
- `--user`, `--project`, or `--all` flags
|
|
25
|
+
- `--all` shows user scope + current project side-by-side
|
|
26
|
+
|
|
27
|
+
### Why
|
|
28
|
+
|
|
29
|
+
v0.3.0 introduced `new` for project bootstrap with a single bundle. But real
|
|
30
|
+
users hit edge cases:
|
|
31
|
+
- Picked `developer` bundle, later need `showrunner` for a marketing page
|
|
32
|
+
- Picked `creator`, later need `seo-technical` for SEO audit
|
|
33
|
+
- Want to remove unused skills to reduce context noise
|
|
34
|
+
|
|
35
|
+
`add` / `remove` / `list` give granular control without re-running the whole wizard.
|
|
36
|
+
|
|
37
|
+
### Workflow examples
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Already have a developer-bundle project, need creator skills too:
|
|
41
|
+
ai-bootstrap add showrunner character-designer image-prompt-engineer
|
|
42
|
+
|
|
43
|
+
# Or merge whole creator bundle on top:
|
|
44
|
+
ai-bootstrap add --bundle creator
|
|
45
|
+
|
|
46
|
+
# See what's installed in this project:
|
|
47
|
+
ai-bootstrap list
|
|
48
|
+
|
|
49
|
+
# See user + project side by side:
|
|
50
|
+
ai-bootstrap list --all
|
|
51
|
+
|
|
52
|
+
# Drop a skill you don't use:
|
|
53
|
+
ai-bootstrap remove security-auditor
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Tests
|
|
57
|
+
|
|
58
|
+
- New e2e tests: add help, list empty user scope, remove non-existent graceful
|
|
59
|
+
- 134 passing (was 131): 87 smoke + 47 e2e
|
|
60
|
+
|
|
61
|
+
[0.4.0]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.4.0
|
|
62
|
+
|
|
63
|
+
## [0.3.0] — 2026-06-21
|
|
64
|
+
|
|
65
|
+
Project-scope skills + agents — different bundles per project.
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
|
|
69
|
+
- **`ai-bootstrap new` subcommand** — bootstrap any folder as a project:
|
|
70
|
+
1. Ask the project name (defaults to folder name)
|
|
71
|
+
2. Ask "what is this project?" with 9 intent choices that auto-map to a bundle:
|
|
72
|
+
- SaaS / Fullstack → developer
|
|
73
|
+
- AI Creator content → creator
|
|
74
|
+
- Marketing / SMM → marketer
|
|
75
|
+
- Mobile app → developer
|
|
76
|
+
- Data analysis / dashboard → developer
|
|
77
|
+
- Client agency work → full-stack
|
|
78
|
+
- Startup / founder → founder
|
|
79
|
+
- Open source library → developer
|
|
80
|
+
- Just basics → foundation
|
|
81
|
+
3. Allow bundle override
|
|
82
|
+
4. Ask for 1-2 sentence project description (goes into CLAUDE.md)
|
|
83
|
+
5. Allow custom project-specific rules
|
|
84
|
+
6. Install skills to `<project>/.claude/skills/` (PROJECT scope)
|
|
85
|
+
7. Install agents to `<project>/.claude/agents/` (PROJECT scope)
|
|
86
|
+
8. Write `<project>/CLAUDE.md` with project metadata + bundle reference
|
|
87
|
+
9. Save state to `<project>/.claude/ai-bootstrap-project.json`
|
|
88
|
+
|
|
89
|
+
### Why this matters
|
|
90
|
+
|
|
91
|
+
Previously, ai-bootstrap installed ONE bundle globally (`~/.claude/`). Every
|
|
92
|
+
project saw the same skill set. Real users have multiple identities — AI
|
|
93
|
+
creator on Monday, full-stack dev on Tuesday, marketer on Wednesday — and
|
|
94
|
+
need different skills per project.
|
|
95
|
+
|
|
96
|
+
Claude Code's project-scope skills (`<project>/.claude/skills/`) load ONLY
|
|
97
|
+
when working inside that project. This gives you the right tools per context
|
|
98
|
+
without polluting every session.
|
|
99
|
+
|
|
100
|
+
### Changed
|
|
101
|
+
|
|
102
|
+
- `installSkills(names, targetDir?)` — second arg defaults to `~/.claude/skills/`
|
|
103
|
+
for backward compat; project install passes `<project>/.claude/skills/`
|
|
104
|
+
- `installAgents(names, targetDir?)` — same pattern
|
|
105
|
+
- Help text reorganized: user-scope wizard vs project-scope `new`
|
|
106
|
+
|
|
107
|
+
### Testing
|
|
108
|
+
|
|
109
|
+
- New smoke test: 'project-scope install' — verifies skills install to
|
|
110
|
+
project dir, user-scope dir NOT affected
|
|
111
|
+
- E2E test updated for help text changes
|
|
112
|
+
- 127 tests passing (was 124)
|
|
113
|
+
|
|
114
|
+
### Workflow
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Once per machine — universal foundation:
|
|
118
|
+
npx @azerogluemin/ai-bootstrap # picks foundation/minimal user-scope
|
|
119
|
+
|
|
120
|
+
# Then per project:
|
|
121
|
+
cd ~/Projects/my-saas && ai-bootstrap new # → developer bundle
|
|
122
|
+
cd ~/Projects/azerogluemin-content && ai-bootstrap new # → creator bundle
|
|
123
|
+
cd ~/Clients/restaurant-smm && ai-bootstrap new # → marketer bundle
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Each project sees only its own bundle. No skill pollution.
|
|
127
|
+
|
|
128
|
+
[0.3.0]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.3.0
|
|
129
|
+
|
|
130
|
+
## [0.2.2] — 2026-06-21
|
|
131
|
+
|
|
132
|
+
User-autonomy fixes from first real-world test feedback.
|
|
133
|
+
|
|
134
|
+
### Fixed
|
|
135
|
+
|
|
136
|
+
- **Wizard step 6 (GitHub backup) over-validated URLs**:
|
|
137
|
+
- Now accepts both SSH (`git@github.com:user/repo`) and HTTPS
|
|
138
|
+
- Empty input is now allowed → defer URL to `ai-bootstrap backup init` later
|
|
139
|
+
- User no longer locked into giving a URL at wizard time
|
|
140
|
+
- **`backup init` refused public repos outright**:
|
|
141
|
+
- Now warns + asks for explicit confirmation instead of hard-blocking
|
|
142
|
+
- Rationale: user autonomy — the user knows their threat model
|
|
143
|
+
|
|
144
|
+
### Why
|
|
145
|
+
|
|
146
|
+
In v0.2.1 test, the wizard rejected a valid SSH URL and refused to proceed.
|
|
147
|
+
Two design errors: (1) regex was https-only, (2) URL was mandatory if user
|
|
148
|
+
said "yes" to backup. Both fixed.
|
|
149
|
+
|
|
150
|
+
[0.2.2]: https://github.com/eminazeroglu/ai-bootstrap/releases/tag/v0.2.2
|
|
151
|
+
|
|
8
152
|
## [0.2.1] — 2026-06-21
|
|
9
153
|
|
|
10
154
|
First published version on npm.
|
|
@@ -9,4 +9,10 @@ export interface AgentInstallResult {
|
|
|
9
9
|
error: string;
|
|
10
10
|
}[];
|
|
11
11
|
}
|
|
12
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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":"AAAA,+CAA+C;AAC/C,kEAAkE;AAClE,mEAAmE;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1D,SAAS,mBAAmB;IAC1B,gBAAgB;IAChB,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;QACpC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC;KAC9C,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAQD,MAAM,UAAU,aAAa,
|
|
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
|
-
|
|
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;
|
|
@@ -33,13 +33,19 @@ function templatesSkillsPath() {
|
|
|
33
33
|
}
|
|
34
34
|
return candidates[0];
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Install skills into a target skills directory.
|
|
38
|
+
* @param skillNames List of skill IDs to install
|
|
39
|
+
* @param targetSkillsDir Absolute path to the skills directory (default: `~/.claude/skills/`).
|
|
40
|
+
* Pass `<project>/.claude/skills/` for project-scope installation.
|
|
41
|
+
*/
|
|
42
|
+
export function installSkills(skillNames, targetSkillsDir = SKILLS_DIR) {
|
|
37
43
|
const result = {
|
|
38
44
|
installed: [],
|
|
39
45
|
skipped: [],
|
|
40
46
|
errors: [],
|
|
41
47
|
};
|
|
42
|
-
ensureDir(
|
|
48
|
+
ensureDir(targetSkillsDir);
|
|
43
49
|
const templatesDir = templatesSkillsPath();
|
|
44
50
|
if (!existsSync(templatesDir)) {
|
|
45
51
|
for (const name of skillNames) {
|
|
@@ -52,7 +58,7 @@ export function installSkills(skillNames) {
|
|
|
52
58
|
}
|
|
53
59
|
for (const name of skillNames) {
|
|
54
60
|
const sourceDir = join(templatesDir, name);
|
|
55
|
-
const targetDir = join(
|
|
61
|
+
const targetDir = join(targetSkillsDir, name);
|
|
56
62
|
// Check source exists
|
|
57
63
|
if (!existsSync(sourceDir)) {
|
|
58
64
|
result.skipped.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-installer.js","sourceRoot":"","sources":["../../src/applier/skills-installer.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;GASG;AACH,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,yCAAyC;IACzC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAiB,uBAAuB;QAC5E,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAS,0CAA0C;KACjG,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAQD,MAAM,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"skills-installer.js","sourceRoot":"","sources":["../../src/applier/skills-installer.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/backup.js
CHANGED
|
@@ -108,10 +108,17 @@ async function initBackup() {
|
|
|
108
108
|
validate: (v) => /^(git@github\.com:|https?:\/\/github\.com\/)[\w.-]+\/[\w.-]+(\.git)?$/.test(v.trim()) ||
|
|
109
109
|
'GitHub SSH yaxud HTTPS URL olmalıdır',
|
|
110
110
|
});
|
|
111
|
-
const isPrivate = await confirm({
|
|
111
|
+
const isPrivate = await confirm({
|
|
112
|
+
message: 'Repo private-dir? (private tövsiyə olunur — ~/.claude/-da şəxsi data var)',
|
|
113
|
+
default: true,
|
|
114
|
+
});
|
|
112
115
|
if (!isPrivate) {
|
|
113
|
-
console.log(chalk.
|
|
114
|
-
|
|
116
|
+
console.log(chalk.yellow('⚠ Public repo: ~/.claude/ məlumatın görünür olacaq. Davam edirsən, sənin qərarındır.'));
|
|
117
|
+
const proceedPublic = await confirm({ message: 'Yenə də davam edək?', default: false });
|
|
118
|
+
if (!proceedPublic) {
|
|
119
|
+
console.log(chalk.dim(' Backup dayandırıldı. Sonra yenidən: ai-bootstrap backup init'));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
115
122
|
}
|
|
116
123
|
const branch = 'main';
|
|
117
124
|
console.log(chalk.dim('\n Git init...'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function runNewCommand(_args: string[]): Promise<void>;
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
// ai-bootstrap new — bootstrap a NEW project folder with project-scope skills + agents
|
|
2
|
+
//
|
|
3
|
+
// Flow:
|
|
4
|
+
// 1. Detect cwd as the project folder
|
|
5
|
+
// 2. Ask: what is this project? (intent → bundle suggestion)
|
|
6
|
+
// 3. Confirm bundle (or override)
|
|
7
|
+
// 4. Ask: 1-line project description (goes into CLAUDE.md)
|
|
8
|
+
// 5. Install skills to <cwd>/.claude/skills/ (PROJECT scope)
|
|
9
|
+
// 6. Install agents to <cwd>/.claude/agents/ (PROJECT scope)
|
|
10
|
+
// 7. Write <cwd>/CLAUDE.md with description + bundle reference
|
|
11
|
+
// 8. Write <cwd>/.claude/.gitignore (excludes installed templates if desired)
|
|
12
|
+
//
|
|
13
|
+
// Why project-scope: Claude Code loads project-scope skills ONLY when the user
|
|
14
|
+
// is inside that project. This lets you have different skill sets per project
|
|
15
|
+
// (developer for SaaS, creator for content, marketer for SMM) without polluting
|
|
16
|
+
// every session with irrelevant skills.
|
|
17
|
+
import chalk from 'chalk';
|
|
18
|
+
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
19
|
+
import { join, basename } from 'node:path';
|
|
20
|
+
import { select, input, confirm } from '@inquirer/prompts';
|
|
21
|
+
import { installSkills } from '../applier/skills-installer.js';
|
|
22
|
+
import { installAgents } from '../applier/agents-installer.js';
|
|
23
|
+
import { resolvePlan, SKILL_BUNDLES, AGENT_BUNDLES } from '../applier/bundle-definitions.js';
|
|
24
|
+
const INTENTS = [
|
|
25
|
+
{ id: 'saas', label: 'SaaS / Fullstack web app', bundle: 'developer', description: 'Backend + frontend + DB + DevOps' },
|
|
26
|
+
{ id: 'creator', label: 'AI Creator content (video, Reels, story, music)', bundle: 'creator', description: 'Video pipeline + character + storyboard + audio' },
|
|
27
|
+
{ id: 'marketing', label: 'Marketing / SMM campaign', bundle: 'marketer', description: 'SEO + social orchestrators + copywriting + ads' },
|
|
28
|
+
{ id: 'mobile', label: 'Mobile app', bundle: 'developer', description: 'Same developer bundle as web (architect/test/refactor/security)' },
|
|
29
|
+
{ id: 'data', label: 'Data analysis / dashboard', bundle: 'developer', description: 'Architect + analyst patterns; consider founder bundle for biz metrics' },
|
|
30
|
+
{ id: 'agency', label: 'Client agency work (multi-service)', bundle: 'full-stack', description: 'Everything — heaviest install (75+ agents)' },
|
|
31
|
+
{ id: 'founder', label: 'Startup / founder work', bundle: 'founder', description: 'C-Level advisors + product + marketing + coaching' },
|
|
32
|
+
{ id: 'opensource', label: 'Open source library / tool', bundle: 'developer', description: 'Engineering bundle + docs' },
|
|
33
|
+
{ id: 'foundation', label: 'Just the basics (minimal)', bundle: 'foundation', description: '10 essential skills, 2 agents' },
|
|
34
|
+
];
|
|
35
|
+
function projectClaudeMd(name, description, intent, customRules) {
|
|
36
|
+
return `# CLAUDE.md — ${name}
|
|
37
|
+
|
|
38
|
+
Bu fayl bu layihə üçün xüsusi instruksiyalardır. Hər söhbətdə avtomatik yüklənir.
|
|
39
|
+
|
|
40
|
+
## Layihə haqqında
|
|
41
|
+
|
|
42
|
+
${description}
|
|
43
|
+
|
|
44
|
+
## Növ + bundle
|
|
45
|
+
|
|
46
|
+
- **Növ**: ${intent.label}
|
|
47
|
+
- **Bundle**: \`${intent.bundle}\` (${intent.description})
|
|
48
|
+
- **Bootstrap**: ai-bootstrap v$(npm view @azerogluemin/ai-bootstrap version 2>/dev/null || echo 'unknown')
|
|
49
|
+
|
|
50
|
+
## Layihə skill + agent-ləri
|
|
51
|
+
|
|
52
|
+
Bu layihənin \`.claude/skills/\` və \`.claude/agents/\` qovluqlarında **project-scope** olaraq quraşdırılıb.
|
|
53
|
+
Yalnız bu layihədə işləyəndə Claude Code onları yükləyir.
|
|
54
|
+
|
|
55
|
+
Yenidən install:
|
|
56
|
+
|
|
57
|
+
\`\`\`bash
|
|
58
|
+
ai-bootstrap new # bu qovluqda yenidən qaçırsan, mövcudları skip edir
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
Layihə-spesifik skill yaratmaq üçün: \`.claude/skills/<my-skill>/SKILL.md\`
|
|
62
|
+
|
|
63
|
+
## Custom rules (bu layihəyə xas)
|
|
64
|
+
|
|
65
|
+
${customRules || '(buraya layihə-spesifik qaydalar yaz — məcburi yox)'}
|
|
66
|
+
`;
|
|
67
|
+
}
|
|
68
|
+
function projectGitignore() {
|
|
69
|
+
return [
|
|
70
|
+
'# ai-bootstrap project-scope installations',
|
|
71
|
+
'# Uncomment to track installed skills/agents in git (default: tracked):',
|
|
72
|
+
'#skills/',
|
|
73
|
+
'#agents/',
|
|
74
|
+
'',
|
|
75
|
+
'# Always exclude:',
|
|
76
|
+
'*.log',
|
|
77
|
+
'.DS_Store',
|
|
78
|
+
'',
|
|
79
|
+
].join('\n');
|
|
80
|
+
}
|
|
81
|
+
export async function runNewCommand(_args) {
|
|
82
|
+
const cwd = process.cwd();
|
|
83
|
+
const folderName = basename(cwd);
|
|
84
|
+
console.log(chalk.bold(`\nai-bootstrap new — bootstrap project skills + agents\n`));
|
|
85
|
+
console.log(chalk.dim(` Project folder: ${cwd}`));
|
|
86
|
+
console.log(chalk.dim(` Detected name: ${folderName}\n`));
|
|
87
|
+
// Step 1: project name
|
|
88
|
+
const projectName = await input({
|
|
89
|
+
message: 'Layihə adı?',
|
|
90
|
+
default: folderName,
|
|
91
|
+
});
|
|
92
|
+
// Step 2: intent (open-ended would also be valid; we offer choices for speed)
|
|
93
|
+
const intentId = await select({
|
|
94
|
+
message: 'Bu qovluqda nə etmək istəyirsən?',
|
|
95
|
+
choices: INTENTS.map((i) => ({
|
|
96
|
+
name: `${i.label} ${chalk.dim('(' + i.bundle + ')')}`,
|
|
97
|
+
value: i.id,
|
|
98
|
+
description: i.description,
|
|
99
|
+
})),
|
|
100
|
+
});
|
|
101
|
+
const intent = INTENTS.find((i) => i.id === intentId);
|
|
102
|
+
// Step 3: bundle override
|
|
103
|
+
const useCustomBundle = await confirm({
|
|
104
|
+
message: `Bundle: ${chalk.cyan(intent.bundle)} (${SKILL_BUNDLES[intent.bundle].length} skill, ${AGENT_BUNDLES[intent.bundle].length} agent). Dəyişdirək?`,
|
|
105
|
+
default: false,
|
|
106
|
+
});
|
|
107
|
+
let bundleKey = intent.bundle;
|
|
108
|
+
if (useCustomBundle) {
|
|
109
|
+
const picked = await select({
|
|
110
|
+
message: 'Bundle seç:',
|
|
111
|
+
choices: Object.keys(SKILL_BUNDLES).map((b) => ({
|
|
112
|
+
name: `${b} ${chalk.dim(`(${SKILL_BUNDLES[b].length} skill, ${AGENT_BUNDLES[b].length} agent)`)}`,
|
|
113
|
+
value: b,
|
|
114
|
+
})),
|
|
115
|
+
default: intent.bundle,
|
|
116
|
+
});
|
|
117
|
+
bundleKey = picked;
|
|
118
|
+
}
|
|
119
|
+
// Step 4: description
|
|
120
|
+
const description = await input({
|
|
121
|
+
message: 'Layihə təsviri (1-2 cümlə) — CLAUDE.md-yə yazılacaq:',
|
|
122
|
+
default: '',
|
|
123
|
+
});
|
|
124
|
+
// Step 5: custom rules (optional)
|
|
125
|
+
const wantsRules = await confirm({
|
|
126
|
+
message: 'Layihə-spesifik qayda(lar) əlavə edək? (sonra əl ilə də əlavə oluna bilər)',
|
|
127
|
+
default: false,
|
|
128
|
+
});
|
|
129
|
+
let customRules = '';
|
|
130
|
+
if (wantsRules) {
|
|
131
|
+
customRules = await input({
|
|
132
|
+
message: 'Qaydalar (çoxsətirli — Enter ilə bitir):',
|
|
133
|
+
default: '',
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Step 6: install
|
|
137
|
+
const projectClaudeDir = join(cwd, '.claude');
|
|
138
|
+
const projectSkillsDir = join(projectClaudeDir, 'skills');
|
|
139
|
+
const projectAgentsDir = join(projectClaudeDir, 'agents');
|
|
140
|
+
if (!existsSync(projectClaudeDir)) {
|
|
141
|
+
mkdirSync(projectClaudeDir, { recursive: true });
|
|
142
|
+
}
|
|
143
|
+
console.log('');
|
|
144
|
+
console.log(chalk.bold(`Quraşdırılır → ${chalk.cyan(projectClaudeDir)}\n`));
|
|
145
|
+
const plan = resolvePlan(bundleKey, bundleKey);
|
|
146
|
+
console.log(chalk.dim(` Skills (${plan.skills.length})...`));
|
|
147
|
+
const skillResult = installSkills(plan.skills, projectSkillsDir);
|
|
148
|
+
console.log(` ${chalk.green('✓')} ${skillResult.installed.length} installed` +
|
|
149
|
+
(skillResult.skipped.length > 0 ? `, ${chalk.dim(skillResult.skipped.length + ' skipped (already present)')}` : '') +
|
|
150
|
+
(skillResult.errors.length > 0 ? `, ${chalk.red(skillResult.errors.length + ' errors')}` : ''));
|
|
151
|
+
console.log(chalk.dim(` Agents (${plan.agents.length})...`));
|
|
152
|
+
const agentResult = installAgents(plan.agents, projectAgentsDir);
|
|
153
|
+
console.log(` ${chalk.green('✓')} ${agentResult.installed.length} installed` +
|
|
154
|
+
(agentResult.skipped.length > 0 ? `, ${chalk.dim(agentResult.skipped.length + ' skipped (already present)')}` : '') +
|
|
155
|
+
(agentResult.errors.length > 0 ? `, ${chalk.red(agentResult.errors.length + ' errors')}` : ''));
|
|
156
|
+
// Write CLAUDE.md
|
|
157
|
+
const claudeMdPath = join(cwd, 'CLAUDE.md');
|
|
158
|
+
if (existsSync(claudeMdPath)) {
|
|
159
|
+
const overwrite = await confirm({
|
|
160
|
+
message: 'CLAUDE.md artıq var. Üstünə yazaq?',
|
|
161
|
+
default: false,
|
|
162
|
+
});
|
|
163
|
+
if (overwrite) {
|
|
164
|
+
writeFileSync(claudeMdPath, projectClaudeMd(projectName, description || '(təsvir verilməyib)', intent, customRules), 'utf-8');
|
|
165
|
+
console.log(` ${chalk.green('✓')} CLAUDE.md yenilədi`);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
console.log(` ${chalk.dim('−')} CLAUDE.md saxlandı (üstünə yazılmadı)`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
writeFileSync(claudeMdPath, projectClaudeMd(projectName, description || '(təsvir verilməyib)', intent, customRules), 'utf-8');
|
|
173
|
+
console.log(` ${chalk.green('✓')} CLAUDE.md yazıldı`);
|
|
174
|
+
}
|
|
175
|
+
// Write .claude/.gitignore if not present
|
|
176
|
+
const gitignorePath = join(projectClaudeDir, '.gitignore');
|
|
177
|
+
if (!existsSync(gitignorePath)) {
|
|
178
|
+
writeFileSync(gitignorePath, projectGitignore(), 'utf-8');
|
|
179
|
+
}
|
|
180
|
+
// Write project state for `ai-bootstrap update` inside the project
|
|
181
|
+
const projectStatePath = join(projectClaudeDir, 'ai-bootstrap-project.json');
|
|
182
|
+
writeFileSync(projectStatePath, JSON.stringify({
|
|
183
|
+
version: '1.0',
|
|
184
|
+
name: projectName,
|
|
185
|
+
intent: intent.id,
|
|
186
|
+
bundle: bundleKey,
|
|
187
|
+
description,
|
|
188
|
+
createdAt: new Date().toISOString(),
|
|
189
|
+
}, null, 2), 'utf-8');
|
|
190
|
+
console.log('');
|
|
191
|
+
console.log(chalk.bold.green('🎉 Layihə hazırdır.\n'));
|
|
192
|
+
console.log(chalk.dim('Növbəti:'));
|
|
193
|
+
console.log(` ${chalk.cyan('claude')} — sessiyanı başlat`);
|
|
194
|
+
console.log(` ${chalk.cyan('cat CLAUDE.md')} — layihə qaydalarını yoxla`);
|
|
195
|
+
console.log(` ${chalk.cyan('ls .claude/skills | head')} — quraşdırılan skill-ləri gör`);
|
|
196
|
+
console.log('');
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=new.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
// ai-bootstrap add / remove / list — manage skills + agents incrementally
|
|
2
|
+
//
|
|
3
|
+
// Scope auto-detection:
|
|
4
|
+
// - If cwd has CLAUDE.md OR .claude/ → project scope (cwd/.claude/)
|
|
5
|
+
// - Else → user scope (~/.claude/)
|
|
6
|
+
// - --user flag forces user scope
|
|
7
|
+
// - --project flag forces project scope
|
|
8
|
+
//
|
|
9
|
+
// Add can take individual skill/agent names, or --bundle <name> to merge a whole bundle.
|
|
10
|
+
// Auto-detects skill vs. agent by checking templates.
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
import { existsSync, readdirSync, statSync, rmSync } from 'node:fs';
|
|
13
|
+
import { join } from 'node:path';
|
|
14
|
+
import { SKILLS_DIR, AGENTS_DIR } from '../utils/paths.js';
|
|
15
|
+
import { installSkills } from '../applier/skills-installer.js';
|
|
16
|
+
import { installAgents } from '../applier/agents-installer.js';
|
|
17
|
+
import { resolvePlan, SKILL_BUNDLES, AGENT_BUNDLES } from '../applier/bundle-definitions.js';
|
|
18
|
+
function detectScope(argv) {
|
|
19
|
+
const forceUser = argv.includes('--user');
|
|
20
|
+
const forceProject = argv.includes('--project');
|
|
21
|
+
if (forceUser) {
|
|
22
|
+
return {
|
|
23
|
+
scope: 'user',
|
|
24
|
+
skillsDir: SKILLS_DIR,
|
|
25
|
+
agentsDir: AGENTS_DIR,
|
|
26
|
+
label: '~/.claude/ (user scope, all projects)',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (forceProject) {
|
|
30
|
+
const cwd = process.cwd();
|
|
31
|
+
return {
|
|
32
|
+
scope: 'project',
|
|
33
|
+
skillsDir: join(cwd, '.claude', 'skills'),
|
|
34
|
+
agentsDir: join(cwd, '.claude', 'agents'),
|
|
35
|
+
label: `${cwd}/.claude/ (project scope, ONLY this folder)`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const cwd = process.cwd();
|
|
39
|
+
const hasProjectClaudeMd = existsSync(join(cwd, 'CLAUDE.md'));
|
|
40
|
+
const hasProjectClaudeDir = existsSync(join(cwd, '.claude'));
|
|
41
|
+
if (hasProjectClaudeMd || hasProjectClaudeDir) {
|
|
42
|
+
return {
|
|
43
|
+
scope: 'project',
|
|
44
|
+
skillsDir: join(cwd, '.claude', 'skills'),
|
|
45
|
+
agentsDir: join(cwd, '.claude', 'agents'),
|
|
46
|
+
label: `${cwd}/.claude/ (auto-detected project)`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
scope: 'user',
|
|
51
|
+
skillsDir: SKILLS_DIR,
|
|
52
|
+
agentsDir: AGENTS_DIR,
|
|
53
|
+
label: '~/.claude/ (user scope — no project detected)',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function getTemplatesSkillsList() {
|
|
57
|
+
// Same lookup as skills-installer; lazy-checked via SKILL_BUNDLES union
|
|
58
|
+
const all = new Set();
|
|
59
|
+
for (const list of Object.values(SKILL_BUNDLES)) {
|
|
60
|
+
for (const s of list)
|
|
61
|
+
all.add(s);
|
|
62
|
+
}
|
|
63
|
+
return all;
|
|
64
|
+
}
|
|
65
|
+
function getTemplatesAgentsList() {
|
|
66
|
+
const all = new Set();
|
|
67
|
+
for (const list of Object.values(AGENT_BUNDLES)) {
|
|
68
|
+
for (const a of list)
|
|
69
|
+
all.add(a);
|
|
70
|
+
}
|
|
71
|
+
return all;
|
|
72
|
+
}
|
|
73
|
+
function classify(names) {
|
|
74
|
+
const knownSkills = getTemplatesSkillsList();
|
|
75
|
+
const knownAgents = getTemplatesAgentsList();
|
|
76
|
+
const skills = [];
|
|
77
|
+
const agents = [];
|
|
78
|
+
const unknown = [];
|
|
79
|
+
for (const n of names) {
|
|
80
|
+
if (knownSkills.has(n) && knownAgents.has(n)) {
|
|
81
|
+
// Both — install both (rare but possible if there's name overlap)
|
|
82
|
+
skills.push(n);
|
|
83
|
+
agents.push(n);
|
|
84
|
+
}
|
|
85
|
+
else if (knownSkills.has(n)) {
|
|
86
|
+
skills.push(n);
|
|
87
|
+
}
|
|
88
|
+
else if (knownAgents.has(n)) {
|
|
89
|
+
agents.push(n);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
unknown.push(n);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return { skills, agents, unknown };
|
|
96
|
+
}
|
|
97
|
+
function printHelp(action) {
|
|
98
|
+
if (action === 'add') {
|
|
99
|
+
console.log(`
|
|
100
|
+
${chalk.bold('ai-bootstrap add')} — install additional skills, agents, or bundles
|
|
101
|
+
|
|
102
|
+
${chalk.bold('Usage:')}
|
|
103
|
+
${chalk.cyan('ai-bootstrap add <name1> <name2> ...')} Auto-detects skill vs agent
|
|
104
|
+
${chalk.cyan('ai-bootstrap add --bundle <name>')} Merge an entire bundle
|
|
105
|
+
${chalk.cyan('ai-bootstrap add ... --user')} Force user scope (~/.claude/)
|
|
106
|
+
${chalk.cyan('ai-bootstrap add ... --project')} Force project scope (./.claude/)
|
|
107
|
+
|
|
108
|
+
${chalk.bold('Default scope:')}
|
|
109
|
+
Project if cwd has CLAUDE.md or .claude/; else user.
|
|
110
|
+
|
|
111
|
+
${chalk.bold('Examples:')}
|
|
112
|
+
${chalk.cyan('ai-bootstrap add showrunner character-designer')} # add 2 skills
|
|
113
|
+
${chalk.cyan('ai-bootstrap add --bundle creator')} # add all 26 creator skills
|
|
114
|
+
${chalk.cyan('ai-bootstrap add seo-technical seo-content')} # add 2 SEO agents
|
|
115
|
+
`);
|
|
116
|
+
}
|
|
117
|
+
else if (action === 'remove') {
|
|
118
|
+
console.log(`
|
|
119
|
+
${chalk.bold('ai-bootstrap remove')} — uninstall skills or agents
|
|
120
|
+
|
|
121
|
+
${chalk.bold('Usage:')}
|
|
122
|
+
${chalk.cyan('ai-bootstrap remove <name1> <name2> ...')}
|
|
123
|
+
${chalk.cyan('ai-bootstrap remove ... --user')} Force user scope
|
|
124
|
+
${chalk.cyan('ai-bootstrap remove ... --project')} Force project scope
|
|
125
|
+
|
|
126
|
+
${chalk.bold('Default scope:')}
|
|
127
|
+
Project if cwd has CLAUDE.md or .claude/; else user.
|
|
128
|
+
`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(`
|
|
132
|
+
${chalk.bold('ai-bootstrap list')} — list installed skills + agents
|
|
133
|
+
|
|
134
|
+
${chalk.bold('Usage:')}
|
|
135
|
+
${chalk.cyan('ai-bootstrap list')} Auto-detect scope
|
|
136
|
+
${chalk.cyan('ai-bootstrap list --user')} Force user scope
|
|
137
|
+
${chalk.cyan('ai-bootstrap list --project')} Force project scope
|
|
138
|
+
${chalk.cyan('ai-bootstrap list --all')} Both user + current project
|
|
139
|
+
`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function listInstalled(skillsDir, agentsDir) {
|
|
143
|
+
const skills = existsSync(skillsDir)
|
|
144
|
+
? readdirSync(skillsDir).filter((e) => {
|
|
145
|
+
try {
|
|
146
|
+
return statSync(join(skillsDir, e)).isDirectory();
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
})
|
|
152
|
+
: [];
|
|
153
|
+
const agents = existsSync(agentsDir)
|
|
154
|
+
? readdirSync(agentsDir).filter((e) => {
|
|
155
|
+
try {
|
|
156
|
+
return statSync(join(agentsDir, e)).isDirectory();
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
})
|
|
162
|
+
: [];
|
|
163
|
+
return { skills, agents };
|
|
164
|
+
}
|
|
165
|
+
export async function runAddCommand(args) {
|
|
166
|
+
if (args.length === 0 || args[0] === 'help' || args[0] === '--help' || args[0] === '-h') {
|
|
167
|
+
printHelp('add');
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const ctx = detectScope(args);
|
|
171
|
+
let names;
|
|
172
|
+
const bundleIdx = args.indexOf('--bundle');
|
|
173
|
+
if (bundleIdx >= 0) {
|
|
174
|
+
const bundleName = args[bundleIdx + 1];
|
|
175
|
+
if (!bundleName || !(bundleName in SKILL_BUNDLES)) {
|
|
176
|
+
console.error(chalk.red(`✗ Naməlum bundle: ${bundleName}. Bundle adları: ${Object.keys(SKILL_BUNDLES).join(', ')}`));
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
const plan = resolvePlan(bundleName, bundleName);
|
|
180
|
+
names = [...new Set([...plan.skills, ...plan.agents])];
|
|
181
|
+
console.log(chalk.bold(`\nai-bootstrap add --bundle ${bundleName}\n`));
|
|
182
|
+
console.log(chalk.dim(` Scope: ${ctx.label}`));
|
|
183
|
+
console.log(chalk.dim(` Plan: ${plan.skills.length} skills + ${plan.agents.length} agents (overlap dedupe)\n`));
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
names = args.filter((a) => !a.startsWith('--'));
|
|
187
|
+
if (names.length === 0) {
|
|
188
|
+
console.error(chalk.red('✗ Heç bir ad verilmədi. İstifadə: ai-bootstrap add <name1> <name2> ...'));
|
|
189
|
+
process.exit(1);
|
|
190
|
+
}
|
|
191
|
+
console.log(chalk.bold(`\nai-bootstrap add (${names.length})\n`));
|
|
192
|
+
console.log(chalk.dim(` Scope: ${ctx.label}\n`));
|
|
193
|
+
}
|
|
194
|
+
const cls = classify(names);
|
|
195
|
+
if (cls.unknown.length > 0) {
|
|
196
|
+
console.log(chalk.yellow(` ⚠ Naməlum: ${cls.unknown.join(', ')}`));
|
|
197
|
+
console.log(chalk.dim(' (catalog-da yoxdur — yoxla: ai-bootstrap list --all yaxud ad düzgündürmü?)\n'));
|
|
198
|
+
}
|
|
199
|
+
if (cls.skills.length > 0) {
|
|
200
|
+
console.log(chalk.dim(` Skills (${cls.skills.length})...`));
|
|
201
|
+
const r = installSkills(cls.skills, ctx.skillsDir);
|
|
202
|
+
console.log(` ${chalk.green('✓')} ${r.installed.length} installed` +
|
|
203
|
+
(r.skipped.length > 0 ? `, ${chalk.dim(r.skipped.length + ' skipped')}` : '') +
|
|
204
|
+
(r.errors.length > 0 ? `, ${chalk.red(r.errors.length + ' errors')}` : ''));
|
|
205
|
+
}
|
|
206
|
+
if (cls.agents.length > 0) {
|
|
207
|
+
console.log(chalk.dim(` Agents (${cls.agents.length})...`));
|
|
208
|
+
const r = installAgents(cls.agents, ctx.agentsDir);
|
|
209
|
+
console.log(` ${chalk.green('✓')} ${r.installed.length} installed` +
|
|
210
|
+
(r.skipped.length > 0 ? `, ${chalk.dim(r.skipped.length + ' skipped')}` : '') +
|
|
211
|
+
(r.errors.length > 0 ? `, ${chalk.red(r.errors.length + ' errors')}` : ''));
|
|
212
|
+
}
|
|
213
|
+
console.log('');
|
|
214
|
+
}
|
|
215
|
+
export function runRemoveCommand(args) {
|
|
216
|
+
if (args.length === 0 || args[0] === 'help' || args[0] === '--help' || args[0] === '-h') {
|
|
217
|
+
printHelp('remove');
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const ctx = detectScope(args);
|
|
221
|
+
const names = args.filter((a) => !a.startsWith('--'));
|
|
222
|
+
if (names.length === 0) {
|
|
223
|
+
console.error(chalk.red('✗ Heç bir ad verilmədi.'));
|
|
224
|
+
process.exit(1);
|
|
225
|
+
}
|
|
226
|
+
console.log(chalk.bold(`\nai-bootstrap remove (${names.length})\n`));
|
|
227
|
+
console.log(chalk.dim(` Scope: ${ctx.label}\n`));
|
|
228
|
+
let removed = 0;
|
|
229
|
+
let notFound = 0;
|
|
230
|
+
for (const name of names) {
|
|
231
|
+
const skillPath = join(ctx.skillsDir, name);
|
|
232
|
+
const agentPath = join(ctx.agentsDir, name);
|
|
233
|
+
let didRemove = false;
|
|
234
|
+
if (existsSync(skillPath)) {
|
|
235
|
+
try {
|
|
236
|
+
rmSync(skillPath, { recursive: true, force: true });
|
|
237
|
+
console.log(` ${chalk.green('✓')} skill: ${name}`);
|
|
238
|
+
removed++;
|
|
239
|
+
didRemove = true;
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
console.log(` ${chalk.red('✗')} skill: ${name} — ${err instanceof Error ? err.message : err}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (existsSync(agentPath)) {
|
|
246
|
+
try {
|
|
247
|
+
rmSync(agentPath, { recursive: true, force: true });
|
|
248
|
+
console.log(` ${chalk.green('✓')} agent: ${name}`);
|
|
249
|
+
removed++;
|
|
250
|
+
didRemove = true;
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
console.log(` ${chalk.red('✗')} agent: ${name} — ${err instanceof Error ? err.message : err}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (!didRemove) {
|
|
257
|
+
console.log(` ${chalk.dim('−')} ${name} — yoxdur bu scope-da`);
|
|
258
|
+
notFound++;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
console.log(chalk.dim(`\n ${removed} removed, ${notFound} not found\n`));
|
|
262
|
+
}
|
|
263
|
+
export function runListCommand(args) {
|
|
264
|
+
if (args[0] === 'help' || args[0] === '--help' || args[0] === '-h') {
|
|
265
|
+
printHelp('list');
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const showAll = args.includes('--all');
|
|
269
|
+
if (showAll) {
|
|
270
|
+
console.log(chalk.bold('\nUser scope (~/.claude/)\n'));
|
|
271
|
+
const user = listInstalled(SKILLS_DIR, AGENTS_DIR);
|
|
272
|
+
printList(user);
|
|
273
|
+
const cwd = process.cwd();
|
|
274
|
+
if (existsSync(join(cwd, 'CLAUDE.md')) || existsSync(join(cwd, '.claude'))) {
|
|
275
|
+
console.log(chalk.bold(`\nProject scope (${cwd}/.claude/)\n`));
|
|
276
|
+
const proj = listInstalled(join(cwd, '.claude', 'skills'), join(cwd, '.claude', 'agents'));
|
|
277
|
+
printList(proj);
|
|
278
|
+
}
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
const ctx = detectScope(args);
|
|
282
|
+
console.log(chalk.bold(`\nInstalled — ${ctx.label}\n`));
|
|
283
|
+
printList(listInstalled(ctx.skillsDir, ctx.agentsDir));
|
|
284
|
+
}
|
|
285
|
+
function printList({ skills, agents }) {
|
|
286
|
+
console.log(` Skills (${skills.length}):`);
|
|
287
|
+
if (skills.length === 0) {
|
|
288
|
+
console.log(chalk.dim(' (none)'));
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
for (const s of skills.sort()) {
|
|
292
|
+
console.log(` ${chalk.cyan('•')} ${s}`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
console.log(`\n Agents (${agents.length}):`);
|
|
296
|
+
if (agents.length === 0) {
|
|
297
|
+
console.log(chalk.dim(' (none)'));
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
for (const a of agents.sort()) {
|
|
301
|
+
console.log(` ${chalk.cyan('•')} ${a}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
console.log('');
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,8 @@ import { runDoctor } from './commands/doctor.js';
|
|
|
13
13
|
import { runUpdate, saveState } from './commands/update.js';
|
|
14
14
|
import { runBackupCommand } from './commands/backup.js';
|
|
15
15
|
import { runTelemetryCommand } from './commands/telemetry.js';
|
|
16
|
+
import { runNewCommand } from './commands/new.js';
|
|
17
|
+
import { runAddCommand, runRemoveCommand, runListCommand } from './commands/skills.js';
|
|
16
18
|
import { trackEvent } from './utils/telemetry.js';
|
|
17
19
|
async function runDefaultWizard() {
|
|
18
20
|
try {
|
|
@@ -57,7 +59,12 @@ function printHelp() {
|
|
|
57
59
|
${chalk.bold('ai-bootstrap')} — Claude Code personal AI infrastructure
|
|
58
60
|
|
|
59
61
|
${chalk.bold('Usage:')}
|
|
60
|
-
${chalk.cyan('ai-bootstrap')} Interactive 6-step setup wizard
|
|
62
|
+
${chalk.cyan('ai-bootstrap')} Interactive 6-step user-scope setup wizard
|
|
63
|
+
${chalk.cyan('ai-bootstrap new')} Bootstrap THIS folder (project-scope skills+agents)
|
|
64
|
+
${chalk.cyan('ai-bootstrap add <names>')} Add individual skills/agents (auto-detect scope)
|
|
65
|
+
${chalk.cyan('ai-bootstrap add --bundle X')} Merge an entire bundle on top of current
|
|
66
|
+
${chalk.cyan('ai-bootstrap remove <names>')} Remove skills/agents
|
|
67
|
+
${chalk.cyan('ai-bootstrap list [--all]')} List installed (project / user / all)
|
|
61
68
|
${chalk.cyan('ai-bootstrap update')} Re-sync skills + agents from template bundle
|
|
62
69
|
${chalk.cyan('ai-bootstrap doctor')} Diagnose install health (symlinks, MCPs, creds)
|
|
63
70
|
${chalk.cyan('ai-bootstrap mcp <sub>')} MCP management — list, installed, credentials
|
|
@@ -99,6 +106,23 @@ async function main() {
|
|
|
99
106
|
void trackEvent({ event: 'backup', properties: { sub: args[1] ?? 'help' } });
|
|
100
107
|
return runBackupCommand(args.slice(1));
|
|
101
108
|
}
|
|
109
|
+
if (cmd === 'new') {
|
|
110
|
+
void trackEvent({ event: 'new' });
|
|
111
|
+
return runNewCommand(args.slice(1));
|
|
112
|
+
}
|
|
113
|
+
if (cmd === 'add') {
|
|
114
|
+
void trackEvent({ event: 'add', properties: { argc: args.length - 1 } });
|
|
115
|
+
return runAddCommand(args.slice(1));
|
|
116
|
+
}
|
|
117
|
+
if (cmd === 'remove' || cmd === 'rm') {
|
|
118
|
+
void trackEvent({ event: 'remove', properties: { argc: args.length - 1 } });
|
|
119
|
+
runRemoveCommand(args.slice(1));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (cmd === 'list' || cmd === 'ls') {
|
|
123
|
+
runListCommand(args.slice(1));
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
102
126
|
if (cmd === 'telemetry') {
|
|
103
127
|
return runTelemetryCommand(args.slice(1));
|
|
104
128
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/steps/6-github.js
CHANGED
|
@@ -14,11 +14,21 @@ export async function githubStep() {
|
|
|
14
14
|
return { enabled: false };
|
|
15
15
|
}
|
|
16
16
|
const repoUrl = await input({
|
|
17
|
-
message: 'GitHub repo URL? (
|
|
18
|
-
validate: (v) =>
|
|
17
|
+
message: 'GitHub repo URL? (boş burax — sonra `ai-bootstrap backup init` ilə əlavə edərsən)',
|
|
18
|
+
validate: (v) => {
|
|
19
|
+
const trimmed = v.trim();
|
|
20
|
+
if (trimmed === '')
|
|
21
|
+
return true;
|
|
22
|
+
return (/^(git@github\.com:|https?:\/\/github\.com\/)[\w.-]+\/[\w.-]+(\.git)?$/.test(trimmed) ||
|
|
23
|
+
'GitHub SSH (git@github.com:user/repo) yaxud HTTPS (https://github.com/user/repo) URL olmalıdır');
|
|
24
|
+
},
|
|
19
25
|
});
|
|
26
|
+
if (repoUrl.trim() === '') {
|
|
27
|
+
console.log(chalk.dim(' URL sonradan veriləcək. Sonra: ai-bootstrap backup init'));
|
|
28
|
+
return { enabled: true };
|
|
29
|
+
}
|
|
20
30
|
const privateRepo = await confirm({
|
|
21
|
-
message: 'Private repo
|
|
31
|
+
message: 'Private repo? (private tövsiyə olunur — ~/.claude/-da şəxsi data var)',
|
|
22
32
|
default: true,
|
|
23
33
|
});
|
|
24
34
|
console.log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"6-github.js","sourceRoot":"","sources":["../../src/steps/6-github.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,UAAU;IAK9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;IAElG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC,CAAC;QACxG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;QAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"6-github.js","sourceRoot":"","sources":["../../src/steps/6-github.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,UAAU;IAK9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;IAElG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC,CAAC;QACxG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;QAC1B,OAAO,EAAE,mFAAmF;QAC5F,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,CACL,uEAAuE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACrF,gGAAgG,CACjG,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;QAChC,OAAO,EAAE,uEAAuE;QAChF,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azerogluemin/ai-bootstrap",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Personal AI infrastructure bootstrap for Claude Code — interactive setup wizard with skills, agents, MCPs, and cross-project memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|