pipecraft 0.45.6 → 0.46.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/README.md CHANGED
@@ -59,6 +59,10 @@ reference, examples, and troubleshooting.
59
59
 
60
60
  Working in this repo with an AI agent? See [AGENTS.md](AGENTS.md).
61
61
 
62
+ Developing Pipecraft itself: [CONTRIBUTING.md](./CONTRIBUTING.md) for setup and workflow,
63
+ [docs-dev/testing.md](./docs-dev/testing.md) for the testing approach, and
64
+ [docs-dev/ast-operations.md](./docs-dev/ast-operations.md) for how the generator edits YAML.
65
+
62
66
  [![npm version](https://badge.fury.io/js/pipecraft.svg)](https://www.npmjs.com/package/pipecraft)
63
67
  [![NPM downloads](https://img.shields.io/npm/dm/pipecraft.svg)](https://www.npmjs.com/package/pipecraft)
64
68
  [![License](https://img.shields.io/npm/l/pipecraft.svg)](https://github.com/the-craftlab/pipecraft/blob/main/LICENSE)
@@ -307,25 +311,32 @@ To report bugs or request features, open an issue on [GitHub Issues](https://git
307
311
 
308
312
  ## AI Assistant Integration
309
313
 
310
- Pipecraft includes AI skills for Claude Code, Cursor, GitHub Copilot, and other coding assistants.
311
-
312
- ### Install the Skill
314
+ Pipecraft ships a skill for Claude Code, Cursor, GitHub Copilot, Windsurf, Cline / Roo Code
315
+ and Codex. One command writes it in the format each tool reads:
313
316
 
314
317
  ```bash
315
- # Via npm (Claude Code + Cursor)
316
- npm install -g @pipecraft/claude-skill
317
-
318
- # Via OpenSkills (universal)
319
- npx openskills install the-craftlab/pipecraft
318
+ npx pipecraft skill # install into this project
319
+ pipecraft skill --list # show which tools this project uses
320
+ pipecraft skill --uninstall # take it back out
320
321
  ```
321
322
 
322
- ### Manual Setup
323
-
324
- | Tool | Configuration File |
325
- | -------------- | ---------------------------------------------------- |
326
- | Claude Code | `.claude/skills/pipecraft/SKILL.md` |
327
- | Cursor | `.cursorrules` (included in repo) |
328
- | GitHub Copilot | `.github/copilot-instructions.md` (included in repo) |
323
+ | Tool | File | Written as |
324
+ | ---------------- | ----------------------------------- | ---------------------- |
325
+ | Claude Code | `.claude/skills/pipecraft/SKILL.md` | whole file |
326
+ | Cursor | `.cursorrules` | block inside your file |
327
+ | GitHub Copilot | `.github/copilot-instructions.md` | block inside your file |
328
+ | Windsurf | `.windsurfrules` | block inside your file |
329
+ | Cline / Roo Code | `.clinerules` | block inside your file |
330
+ | Codex | `AGENTS.md` | block inside your file |
331
+
332
+ Five of those files are yours. Pipecraft writes only between `<!-- pipecraft:start -->` and
333
+ `<!-- pipecraft:end -->`, leaves everything else untouched, replaces that block when you
334
+ reinstall, and removes the block on `--uninstall`. A file that held nothing else is deleted.
335
+
336
+ Without `--target`, the command installs for the tools whose files or directories are already
337
+ in the project, and installs every format when it finds none. `--global` writes
338
+ `~/.claude/skills/pipecraft/SKILL.md`; the other five formats are project files and have no
339
+ home-directory form.
329
340
 
330
341
  ### What the Skill Provides
331
342
 
package/dist/cli/index.js CHANGED
@@ -222,7 +222,8 @@ program
222
222
  if (options.withSkill) {
223
223
  const { installSkills } = await import('../utils/skill-installer.js');
224
224
  console.log('\nšŸ”§ Installing AI coding assistant skills...');
225
- const results = installSkills({ global: true });
225
+ // `init` runs in the project being set up, so the project files are the ones to write.
226
+ const results = installSkills({ local: true });
226
227
  const installed = results.filter(r => r.success && !r.skipped);
227
228
  if (installed.length > 0) {
228
229
  console.log('āœ… Skills installed for:', installed.map(r => r.target).join(', '));
@@ -551,29 +552,26 @@ program
551
552
  .command('skill')
552
553
  .description('Install Pipecraft skills for AI coding assistants (Claude Code, Cursor, etc.)')
553
554
  .option('--install', 'Install skills (default action)')
554
- .option('--uninstall', 'Remove installed skills')
555
+ .option('--uninstall', 'Remove what was installed, leaving your own text in place')
555
556
  .option('--list', 'List available targets and their status')
556
- .option('--global', 'Install to global/user directory (default)')
557
- .option('--local', 'Install to current project directory')
558
- .option('--force', 'Install even if target tool not detected')
559
- .option('--target <targets>', 'Specific targets to install (comma-separated: claude-code,cursor,copilot,windsurf)')
557
+ .option('--local', 'Install into this project (default)')
558
+ .option('--global', 'Install into your home directory (Claude Code only)')
559
+ .option('--target <targets>', 'Specific targets (comma-separated: claude-code,cursor,copilot,windsurf,cline,codex)')
560
560
  .action(async (options) => {
561
561
  try {
562
- const { installSkills, uninstallSkills, listSkillTargets } = await import('../utils/skill-installer.js');
562
+ const { installSkills, uninstallSkills, listSkillTargets, SKILL_TARGETS } = await import('../utils/skill-installer.js');
563
563
  // List mode
564
564
  if (options.list) {
565
565
  const targets = listSkillTargets();
566
566
  console.log('\nšŸ“‹ AI Coding Assistant Skill Targets:\n');
567
567
  for (const target of targets) {
568
- const status = target.installed
569
- ? target.hasSkill
570
- ? 'āœ… Installed'
571
- : 'āš ļø Detected (no skill)'
572
- : '⬚ Not detected';
568
+ const status = target.hasSkill
569
+ ? 'āœ… Installed'
570
+ : target.detected
571
+ ? 'āš ļø Detected (no skill)'
572
+ : '⬚ Not detected';
573
573
  console.log(` ${status} ${target.displayName}`);
574
- if (target.installed) {
575
- console.log(` ${target.globalPath}`);
576
- }
574
+ console.log(` ${target.localPath}`);
577
575
  }
578
576
  console.log('\nRun `pipecraft skill --install` to install skills.');
579
577
  console.log('');
@@ -583,14 +581,14 @@ program
583
581
  if (options.uninstall) {
584
582
  console.log('\nšŸ—‘ļø Removing Pipecraft skills...\n');
585
583
  const results = uninstallSkills({
586
- global: !options.local,
584
+ global: options.global,
587
585
  local: options.local
588
586
  });
589
587
  const removed = results.filter(r => r.success);
590
588
  if (removed.length > 0) {
591
589
  console.log('Removed from:');
592
590
  for (const r of removed) {
593
- console.log(` āœ… ${r.target}`);
591
+ console.log(` āœ… ${r.target}: ${r.path}`);
594
592
  }
595
593
  }
596
594
  else {
@@ -602,11 +600,17 @@ program
602
600
  // Install mode (default)
603
601
  console.log('\nšŸ”§ Installing Pipecraft skills for AI coding assistants...\n');
604
602
  const targetList = options.target?.split(',').map((t) => t.trim());
603
+ const known = SKILL_TARGETS.map(t => t.name);
604
+ const unknown = (targetList ?? []).filter((t) => !known.includes(t));
605
+ if (unknown.length > 0) {
606
+ console.error(`āŒ Unknown target(s): ${unknown.join(', ')}`);
607
+ console.error(` Known targets: ${known.join(', ')}`);
608
+ process.exit(1);
609
+ }
605
610
  const results = installSkills({
606
- global: !options.local,
611
+ global: options.global,
607
612
  local: options.local,
608
- targets: targetList,
609
- force: options.force
613
+ targets: targetList
610
614
  });
611
615
  const installed = results.filter(r => r.success && !r.skipped);
612
616
  const skipped = results.filter(r => r.skipped);
@@ -618,11 +622,10 @@ program
618
622
  }
619
623
  }
620
624
  if (skipped.length > 0) {
621
- console.log('\nā­ļø Skipped (tool not detected):');
625
+ console.log('\nā­ļø Skipped:');
622
626
  for (const r of skipped) {
623
- console.log(` ${r.target}`);
627
+ console.log(` ${r.target}: ${r.reason}`);
624
628
  }
625
- console.log(' Use --force to install anyway');
626
629
  }
627
630
  if (failed.length > 0) {
628
631
  console.log('\nāŒ Failed:');
@@ -631,9 +634,11 @@ program
631
634
  }
632
635
  }
633
636
  if (installed.length > 0) {
634
- console.log('\nšŸ“ Usage:');
635
- console.log(' Claude Code: Use /pipecraft or ask about Pipecraft setup');
636
- console.log(' Cursor: The skill activates automatically when relevant');
637
+ console.log('\nšŸ“ Notes:');
638
+ console.log(' Claude Code reads .claude/skills/pipecraft/SKILL.md.');
639
+ console.log(' The rules files keep your own text; Pipecraft only maintains the block between');
640
+ console.log(' <!-- pipecraft:start --> and <!-- pipecraft:end -->.');
641
+ console.log(' Run `pipecraft skill --uninstall` to remove that block.');
637
642
  }
638
643
  console.log('');
639
644
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,32 @@
1
1
  /**
2
2
  * AI Skill Installer
3
3
  *
4
- * Installs Pipecraft skills for AI coding assistants (Claude Code, Cursor, etc.)
4
+ * Installs the Pipecraft skill for AI coding assistants.
5
+ *
6
+ * Each tool reads a different file. Claude Code reads `.claude/skills/pipecraft/SKILL.md`,
7
+ * a directory Pipecraft owns outright. The other five read a rules file at the project root
8
+ * that the user writes and owns: `.cursorrules`, `.github/copilot-instructions.md`,
9
+ * `.windsurfrules`, `.clinerules`, `AGENTS.md`. Pipecraft claims a marked block inside those
10
+ * and never changes a byte outside it, so reinstalling updates the block and uninstalling
11
+ * gives the file back.
5
12
  */
13
+ /** Delimiters of the region Pipecraft maintains inside a file the user owns. */
14
+ export declare const BLOCK_START = "<!-- pipecraft:start -->";
15
+ export declare const BLOCK_END = "<!-- pipecraft:end -->";
6
16
  export interface SkillTarget {
7
17
  name: string;
8
18
  displayName: string;
9
- globalPath: string;
19
+ /** Destination relative to the project root. */
10
20
  localPath: string;
11
- configFile?: string;
21
+ /** Destination relative to the home directory, for tools that document a global location. */
22
+ globalPath?: string;
23
+ /**
24
+ * True when the destination is a directory Pipecraft owns and may rewrite whole.
25
+ * False when the user owns the file, which means a marked block and nothing else.
26
+ */
27
+ ownsFile: boolean;
28
+ /** Project paths whose presence means the tool is in use here. */
29
+ detect: string[];
12
30
  }
13
31
  export interface InstallResult {
14
32
  target: string;
@@ -17,38 +35,51 @@ export interface InstallResult {
17
35
  error?: string;
18
36
  skipped?: boolean;
19
37
  reason?: string;
38
+ action?: 'created' | 'updated' | 'removed';
20
39
  }
21
40
  /**
22
- * Supported AI coding assistant targets
41
+ * Supported AI coding assistant targets.
42
+ *
43
+ * Only Claude Code gets a global entry. The other five formats are project files, and a copy
44
+ * in the home directory is a file no tool loads.
23
45
  */
24
46
  export declare const SKILL_TARGETS: SkillTarget[];
25
47
  export interface InstallOptions {
26
48
  global?: boolean;
27
49
  local?: boolean;
28
50
  targets?: string[];
29
- force?: boolean;
30
51
  cwd?: string;
52
+ /** Home directory to install into. Tests pass a temporary one. */
53
+ home?: string;
31
54
  }
55
+ /** Tools whose marker files are present in the project. */
56
+ export declare function detectTargets(cwd?: string): string[];
32
57
  /**
33
- * Install Pipecraft skills for AI coding assistants
58
+ * Install the Pipecraft skill for AI coding assistants.
59
+ *
60
+ * Local is the default scope, because five of the six formats only exist inside a project.
34
61
  */
35
62
  export declare function installSkills(options?: InstallOptions): InstallResult[];
36
- /**
37
- * List available skill targets and their status
38
- */
39
- export declare function listSkillTargets(): Array<{
63
+ export interface TargetStatus {
40
64
  name: string;
41
65
  displayName: string;
42
- installed: boolean;
43
- globalPath: string;
66
+ localPath: string;
67
+ globalPath?: string;
68
+ /** The tool's marker files are present in this project. */
69
+ detected: boolean;
70
+ /** Pipecraft's skill is already installed here. */
44
71
  hasSkill: boolean;
45
- }>;
46
- /**
47
- * Uninstall skills from all targets
48
- */
72
+ }
73
+ /** List every target, whether the project uses it, and whether the skill is already there. */
74
+ export declare function listSkillTargets(options?: {
75
+ cwd?: string;
76
+ home?: string;
77
+ }): TargetStatus[];
78
+ /** Remove what `installSkills` wrote, and nothing else. */
49
79
  export declare function uninstallSkills(options?: {
50
80
  global?: boolean;
51
81
  local?: boolean;
52
82
  cwd?: string;
83
+ home?: string;
53
84
  }): InstallResult[];
54
85
  //# sourceMappingURL=skill-installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA2BtC,CAAA;AAgGD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,EAAE,CAoD3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAC,CAQD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAChE,aAAa,EAAE,CAmDjB"}
1
+ {"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,gFAAgF;AAChF,eAAO,MAAM,WAAW,6BAA6B,CAAA;AACrD,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC3C;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA4CtC,CAAA;AAgHD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,EAAE,CAInE;AAaD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,EAAE,CA8B3E;AAiBD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAA;IACjB,mDAAmD;IACnD,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,EAAE,CAkB9F;AAQD,2DAA2D;AAC3D,wBAAgB,eAAe,CAC7B,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/E,aAAa,EAAE,CAiBjB"}
@@ -1,43 +1,73 @@
1
1
  /**
2
2
  * AI Skill Installer
3
3
  *
4
- * Installs Pipecraft skills for AI coding assistants (Claude Code, Cursor, etc.)
4
+ * Installs the Pipecraft skill for AI coding assistants.
5
+ *
6
+ * Each tool reads a different file. Claude Code reads `.claude/skills/pipecraft/SKILL.md`,
7
+ * a directory Pipecraft owns outright. The other five read a rules file at the project root
8
+ * that the user writes and owns: `.cursorrules`, `.github/copilot-instructions.md`,
9
+ * `.windsurfrules`, `.clinerules`, `AGENTS.md`. Pipecraft claims a marked block inside those
10
+ * and never changes a byte outside it, so reinstalling updates the block and uninstalling
11
+ * gives the file back.
5
12
  */
6
- import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
7
- import { dirname, join } from 'path';
13
+ import { existsSync, mkdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'fs';
8
14
  import { homedir } from 'os';
15
+ import { dirname, join } from 'path';
9
16
  import { fileURLToPath } from 'url';
10
17
  const __filename = fileURLToPath(import.meta.url);
11
18
  const __dirname = dirname(__filename);
19
+ /** Delimiters of the region Pipecraft maintains inside a file the user owns. */
20
+ export const BLOCK_START = '<!-- pipecraft:start -->';
21
+ export const BLOCK_END = '<!-- pipecraft:end -->';
12
22
  /**
13
- * Supported AI coding assistant targets
23
+ * Supported AI coding assistant targets.
24
+ *
25
+ * Only Claude Code gets a global entry. The other five formats are project files, and a copy
26
+ * in the home directory is a file no tool loads.
14
27
  */
15
28
  export const SKILL_TARGETS = [
16
29
  {
17
30
  name: 'claude-code',
18
31
  displayName: 'Claude Code',
19
- globalPath: join(homedir(), '.claude', 'skills', 'pipecraft'),
20
- localPath: join('.claude', 'skills', 'pipecraft')
32
+ localPath: join('.claude', 'skills', 'pipecraft', 'SKILL.md'),
33
+ globalPath: join('.claude', 'skills', 'pipecraft', 'SKILL.md'),
34
+ ownsFile: true,
35
+ detect: ['.claude', 'CLAUDE.md']
21
36
  },
22
37
  {
23
38
  name: 'cursor',
24
39
  displayName: 'Cursor',
25
- globalPath: join(homedir(), '.cursor', 'skills', 'pipecraft'),
26
- localPath: join('.cursor', 'skills', 'pipecraft'),
27
- configFile: '.cursorrules'
40
+ localPath: '.cursorrules',
41
+ ownsFile: false,
42
+ detect: ['.cursor', '.cursorrules']
28
43
  },
29
44
  {
30
45
  name: 'copilot',
31
46
  displayName: 'GitHub Copilot',
32
- globalPath: join(homedir(), '.copilot', 'skills', 'pipecraft'),
33
- localPath: join('.github', 'skills', 'pipecraft'),
34
- configFile: '.github/copilot-instructions.md'
47
+ localPath: join('.github', 'copilot-instructions.md'),
48
+ ownsFile: false,
49
+ detect: ['.github']
35
50
  },
36
51
  {
37
52
  name: 'windsurf',
38
53
  displayName: 'Windsurf',
39
- globalPath: join(homedir(), '.codeium', 'windsurf', 'skills', 'pipecraft'),
40
- localPath: join('.windsurf', 'skills', 'pipecraft')
54
+ localPath: '.windsurfrules',
55
+ ownsFile: false,
56
+ detect: ['.windsurf', '.windsurfrules']
57
+ },
58
+ {
59
+ name: 'cline',
60
+ displayName: 'Cline / Roo Code',
61
+ localPath: '.clinerules',
62
+ ownsFile: false,
63
+ detect: ['.clinerules']
64
+ },
65
+ {
66
+ name: 'codex',
67
+ displayName: 'OpenAI Codex',
68
+ localPath: 'AGENTS.md',
69
+ ownsFile: false,
70
+ detect: ['AGENTS.md']
41
71
  }
42
72
  ];
43
73
  /**
@@ -78,174 +108,204 @@ pipecraft setup # Create branches
78
108
  pipecraft setup-github # GitHub permissions
79
109
  \`\`\`
80
110
 
81
- ## Configuration
111
+ ## Key Behaviours
82
112
 
83
- Required fields in \`.pipecraftrc\`:
84
-
85
- \`\`\`yaml
86
- ciProvider: github
87
- mergeStrategy: fast-forward
88
- requireConventionalCommits: true
89
- initialBranch: develop # Must be FIRST in branchFlow
90
- finalBranch: main # Must be LAST in branchFlow
91
- branchFlow: [develop, main]
92
- semver:
93
- bumpRules:
94
- feat: minor
95
- fix: patch
96
- breaking: major
97
- domains:
98
- app:
99
- paths: ["src/**"]
100
- description: "App code"
101
- \`\`\`
102
-
103
- ## Reserved Domain Names
104
-
105
- Cannot use: \`version\`, \`changes\`, \`gate\`, \`tag\`, \`promote\`, \`release\`
113
+ - \`autoPromote: false\` still opens the promotion PR; it only leaves the merge to a human.
114
+ - Only commits GitHub itself authored promote. A directly pushed commit never releases.
115
+ - Domain job bodies are yours. Pipecraft writes the placeholder and never fills it in.
106
116
 
107
117
  For full documentation, see https://pipecraft.thecraftlab.dev
108
118
  `;
109
119
  }
120
+ /** The skill without its YAML frontmatter, which means nothing inside a rules file. */
121
+ function skillBody(content) {
122
+ const match = content.match(/^---\n[\s\S]*?\n---\n+/);
123
+ return match ? content.slice(match[0].length) : content;
124
+ }
125
+ /** The block Pipecraft maintains, delimiters included. */
126
+ function skillBlock(content) {
127
+ return `${BLOCK_START}\n${skillBody(content).trim()}\n${BLOCK_END}`;
128
+ }
110
129
  /**
111
- * Install skill to a specific path
130
+ * Write the block into a file the user owns.
131
+ *
132
+ * A file with no block gets one appended after its existing text. A file with a block keeps
133
+ * everything around it and gets the block's contents replaced.
112
134
  */
113
- function installToPath(targetPath, content) {
114
- try {
115
- // Create the full target directory (e.g., ~/.claude/skills/pipecraft)
116
- mkdirSync(targetPath, { recursive: true });
117
- writeFileSync(join(targetPath, 'SKILL.md'), content, 'utf8');
118
- return { success: true };
135
+ function writeBlock(filePath, content) {
136
+ const block = skillBlock(content);
137
+ mkdirSync(dirname(filePath), { recursive: true });
138
+ if (!existsSync(filePath)) {
139
+ writeFileSync(filePath, `${block}\n`, 'utf8');
140
+ return 'created';
119
141
  }
120
- catch (error) {
121
- const message = error instanceof Error ? error.message : String(error);
122
- return { success: false, error: message };
142
+ const existing = readFileSync(filePath, 'utf8');
143
+ const start = existing.indexOf(BLOCK_START);
144
+ const end = existing.indexOf(BLOCK_END);
145
+ if (start !== -1 && end !== -1 && end > start) {
146
+ const before = existing.slice(0, start);
147
+ const after = existing.slice(end + BLOCK_END.length);
148
+ writeFileSync(filePath, `${before}${block}${after}`, 'utf8');
149
+ return 'updated';
123
150
  }
151
+ const separator = existing.endsWith('\n') ? '\n' : '\n\n';
152
+ writeFileSync(filePath, `${existing}${separator}${block}\n`, 'utf8');
153
+ return 'updated';
124
154
  }
125
- /**
126
- * Check if a target appears to be installed/used
127
- */
128
- function isTargetInstalled(target) {
129
- // Check if the global skills directory exists (indicates the tool is used)
130
- const parentDir = dirname(target.globalPath);
131
- return existsSync(parentDir);
155
+ /** Remove the block, and the file too when the block was all it held. */
156
+ function removeBlock(filePath) {
157
+ if (!existsSync(filePath))
158
+ return undefined;
159
+ const existing = readFileSync(filePath, 'utf8');
160
+ const start = existing.indexOf(BLOCK_START);
161
+ const end = existing.indexOf(BLOCK_END);
162
+ if (start === -1 || end === -1 || end < start)
163
+ return undefined;
164
+ const remainder = existing.slice(0, start) + existing.slice(end + BLOCK_END.length);
165
+ if (remainder.trim() === '') {
166
+ unlinkSync(filePath);
167
+ }
168
+ else {
169
+ writeFileSync(filePath, remainder.replace(/\n{3,}$/, '\n'), 'utf8');
170
+ }
171
+ return 'removed';
172
+ }
173
+ /** Tools whose marker files are present in the project. */
174
+ export function detectTargets(cwd = process.cwd()) {
175
+ return SKILL_TARGETS.filter(target => target.detect.some(marker => existsSync(join(cwd, marker)))).map(target => target.name);
176
+ }
177
+ /** Targets to act on: an explicit list, else what the project shows, else every format. */
178
+ function resolveTargets(options, cwd) {
179
+ if (options.targets && options.targets.length > 0) {
180
+ return SKILL_TARGETS.filter(t => options.targets.includes(t.name));
181
+ }
182
+ const detected = detectTargets(cwd);
183
+ if (detected.length === 0)
184
+ return SKILL_TARGETS;
185
+ return SKILL_TARGETS.filter(t => detected.includes(t.name));
132
186
  }
133
187
  /**
134
- * Install Pipecraft skills for AI coding assistants
188
+ * Install the Pipecraft skill for AI coding assistants.
189
+ *
190
+ * Local is the default scope, because five of the six formats only exist inside a project.
135
191
  */
136
192
  export function installSkills(options = {}) {
137
193
  const results = [];
138
194
  const content = getSkillContent();
139
195
  const cwd = options.cwd || process.cwd();
140
- // Filter targets if specific ones requested
141
- let targets = SKILL_TARGETS;
142
- if (options.targets && options.targets.length > 0) {
143
- targets = SKILL_TARGETS.filter(t => options.targets.includes(t.name));
144
- }
145
- for (const target of targets) {
146
- // Determine installation scope
147
- const installGlobal = options.global ?? true;
148
- const installLocal = options.local ?? false;
149
- // Global installation
196
+ const home = options.home || homedir();
197
+ const installGlobal = options.global ?? false;
198
+ const installLocal = options.local ?? !installGlobal;
199
+ for (const target of resolveTargets(options, cwd)) {
150
200
  if (installGlobal) {
151
- // Skip if target tool doesn't appear to be installed (unless forced)
152
- if (!options.force && !isTargetInstalled(target)) {
201
+ if (!target.globalPath) {
153
202
  results.push({
154
203
  target: target.displayName,
155
- path: target.globalPath,
204
+ path: target.localPath,
156
205
  success: false,
157
206
  skipped: true,
158
- reason: `${target.displayName} not detected`
207
+ reason: 'project-level only'
159
208
  });
160
209
  }
161
210
  else {
162
- const result = installToPath(target.globalPath, content);
163
- results.push({
164
- target: target.displayName,
165
- path: target.globalPath,
166
- success: result.success,
167
- error: result.error
168
- });
211
+ const path = join(home, target.globalPath);
212
+ results.push(write(target, path, content));
169
213
  }
170
214
  }
171
- // Local installation (project-level)
172
215
  if (installLocal) {
173
- const localPath = join(cwd, target.localPath);
174
- const result = installToPath(localPath, content);
175
- results.push({
176
- target: `${target.displayName} (project)`,
177
- path: localPath,
178
- success: result.success,
179
- error: result.error
180
- });
216
+ results.push(write(target, join(cwd, target.localPath), content));
181
217
  }
182
218
  }
183
219
  return results;
184
220
  }
185
- /**
186
- * List available skill targets and their status
187
- */
188
- export function listSkillTargets() {
189
- return SKILL_TARGETS.map(target => ({
190
- name: target.name,
191
- displayName: target.displayName,
192
- installed: isTargetInstalled(target),
193
- globalPath: target.globalPath,
194
- hasSkill: existsSync(join(target.globalPath, 'SKILL.md'))
195
- }));
221
+ function write(target, path, content) {
222
+ try {
223
+ if (target.ownsFile) {
224
+ const action = existsSync(path) ? 'updated' : 'created';
225
+ mkdirSync(dirname(path), { recursive: true });
226
+ writeFileSync(path, content, 'utf8');
227
+ return { target: target.displayName, path, success: true, action };
228
+ }
229
+ return { target: target.displayName, path, success: true, action: writeBlock(path, content) };
230
+ }
231
+ catch (error) {
232
+ const message = error instanceof Error ? error.message : String(error);
233
+ return { target: target.displayName, path, success: false, error: message };
234
+ }
196
235
  }
197
- /**
198
- * Uninstall skills from all targets
199
- */
236
+ /** List every target, whether the project uses it, and whether the skill is already there. */
237
+ export function listSkillTargets(options = {}) {
238
+ const cwd = options.cwd || process.cwd();
239
+ const home = options.home || homedir();
240
+ const detected = detectTargets(cwd);
241
+ return SKILL_TARGETS.map(target => {
242
+ const localPath = join(cwd, target.localPath);
243
+ const globalPath = target.globalPath ? join(home, target.globalPath) : undefined;
244
+ return {
245
+ name: target.name,
246
+ displayName: target.displayName,
247
+ localPath,
248
+ globalPath,
249
+ detected: detected.includes(target.name),
250
+ hasSkill: hasSkill(target, localPath) || (globalPath ? hasSkill(target, globalPath) : false)
251
+ };
252
+ });
253
+ }
254
+ function hasSkill(target, path) {
255
+ if (!existsSync(path))
256
+ return false;
257
+ if (target.ownsFile)
258
+ return true;
259
+ return readFileSync(path, 'utf8').includes(BLOCK_START);
260
+ }
261
+ /** Remove what `installSkills` wrote, and nothing else. */
200
262
  export function uninstallSkills(options = {}) {
201
263
  const results = [];
202
264
  const cwd = options.cwd || process.cwd();
203
- const { rmSync } = require('fs');
265
+ const home = options.home || homedir();
266
+ const removeGlobal = options.global ?? false;
267
+ const removeLocal = options.local ?? !removeGlobal;
204
268
  for (const target of SKILL_TARGETS) {
205
- if (options.global !== false) {
206
- const skillFile = join(target.globalPath, 'SKILL.md');
207
- if (existsSync(skillFile)) {
208
- try {
209
- rmSync(target.globalPath, { recursive: true, force: true });
210
- results.push({
211
- target: target.displayName,
212
- path: target.globalPath,
213
- success: true
214
- });
215
- }
216
- catch (error) {
217
- results.push({
218
- target: target.displayName,
219
- path: target.globalPath,
220
- success: false,
221
- error: error.message
222
- });
223
- }
224
- }
269
+ if (removeGlobal && target.globalPath) {
270
+ results.push(remove(target, join(home, target.globalPath)));
225
271
  }
226
- if (options.local) {
227
- const localPath = join(cwd, target.localPath);
228
- const skillFile = join(localPath, 'SKILL.md');
229
- if (existsSync(skillFile)) {
230
- try {
231
- rmSync(localPath, { recursive: true, force: true });
232
- results.push({
233
- target: `${target.displayName} (project)`,
234
- path: localPath,
235
- success: true
236
- });
237
- }
238
- catch (error) {
239
- results.push({
240
- target: `${target.displayName} (project)`,
241
- path: localPath,
242
- success: false,
243
- error: error.message
244
- });
245
- }
246
- }
272
+ if (removeLocal) {
273
+ results.push(remove(target, join(cwd, target.localPath)));
247
274
  }
248
275
  }
249
276
  return results;
250
277
  }
278
+ function remove(target, path) {
279
+ try {
280
+ if (target.ownsFile) {
281
+ if (!existsSync(path)) {
282
+ return {
283
+ target: target.displayName,
284
+ path,
285
+ success: false,
286
+ skipped: true,
287
+ reason: 'not installed'
288
+ };
289
+ }
290
+ // The whole directory belongs to Pipecraft, so it goes with the file.
291
+ rmSync(dirname(path), { recursive: true, force: true });
292
+ return { target: target.displayName, path, success: true, action: 'removed' };
293
+ }
294
+ const action = removeBlock(path);
295
+ if (!action) {
296
+ return {
297
+ target: target.displayName,
298
+ path,
299
+ success: false,
300
+ skipped: true,
301
+ reason: 'not installed'
302
+ };
303
+ }
304
+ return { target: target.displayName, path, success: true, action };
305
+ }
306
+ catch (error) {
307
+ const message = error instanceof Error ? error.message : String(error);
308
+ return { target: target.displayName, path, success: false, error: message };
309
+ }
310
+ }
251
311
  //# sourceMappingURL=skill-installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipecraft",
3
- "version": "0.45.6",
3
+ "version": "0.46.1",
4
4
  "description": "Automated CI/CD pipeline generator for trunk-based development. Generates intelligent GitHub Actions workflows with domain-based change detection, semantic versioning, and branch flow management. Full documentation: https://pipecraft.thecraftlab.dev",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,6 +22,7 @@ Help users with **Pipecraft** - a trunk-based CI/CD workflow generator for GitHu
22
22
  | `pipecraft setup` | Create branches from branchFlow | `--force` |
23
23
  | `pipecraft setup-github` | Configure GitHub permissions | `--apply` |
24
24
  | `pipecraft version` | Version management | `--check` |
25
+ | `pipecraft skill` | Install this skill for AI tools | `--list`, `--uninstall`, `--target`, `--global` |
25
26
 
26
27
  ### validate vs doctor
27
28