@codemarc/blt 1.4.6 → 1.4.8

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.
Files changed (34) hide show
  1. package/README.md +182 -5
  2. package/dist/blt +4 -0
  3. package/dist/blt.d.ts.map +1 -1
  4. package/dist/blt.js.map +1 -1
  5. package/dist/commands/init/config-templates.d.ts +18 -0
  6. package/dist/commands/init/config-templates.d.ts.map +1 -0
  7. package/dist/commands/init/config-templates.js +74 -0
  8. package/dist/commands/init/config-templates.js.map +1 -0
  9. package/dist/commands/init/config.d.ts +9 -0
  10. package/dist/commands/init/config.d.ts.map +1 -0
  11. package/dist/commands/init/config.js +92 -0
  12. package/dist/commands/init/config.js.map +1 -0
  13. package/dist/commands/pdf.js +1 -1
  14. package/dist/commands/show/info.d.ts +7 -0
  15. package/dist/commands/show/info.d.ts.map +1 -0
  16. package/dist/commands/show/info.js +52 -0
  17. package/dist/commands/show/info.js.map +1 -0
  18. package/dist/commands/wai/config-templates.d.ts +18 -0
  19. package/dist/commands/wai/config-templates.d.ts.map +1 -0
  20. package/dist/commands/wai/config-templates.js +136 -0
  21. package/dist/commands/wai/config-templates.js.map +1 -0
  22. package/dist/commands/wai/config.d.ts +9 -0
  23. package/dist/commands/wai/config.d.ts.map +1 -0
  24. package/dist/commands/wai/config.js +144 -0
  25. package/dist/commands/wai/config.js.map +1 -0
  26. package/dist/commands/wai.d.ts +7 -0
  27. package/dist/commands/wai.d.ts.map +1 -0
  28. package/dist/commands/wai.js +208 -0
  29. package/dist/commands/wai.js.map +1 -0
  30. package/dist/commands/workflow.d.ts +6 -0
  31. package/dist/commands/workflow.d.ts.map +1 -0
  32. package/dist/commands/workflow.js +291 -0
  33. package/dist/commands/workflow.js.map +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Claude Code–aligned config template registry for blt wai.
3
+ * Templates are fetched from the bltcore-com/tools repo at runtime.
4
+ */
5
+ const TOOLS_REPO = "bltcore-com/tools";
6
+ const TEMPLATE_BASE = "cli/.trailz";
7
+ export const WAI_TYPES = {
8
+ claude: {
9
+ filename: "CLAUDE.md",
10
+ sourceFile: "CLAUDE.md",
11
+ needsName: false,
12
+ description: "Primary project memory (loaded every session)",
13
+ },
14
+ agents: {
15
+ filename: "AGENTS.md",
16
+ sourceFile: "AGENTS.md",
17
+ needsName: false,
18
+ description: "Open standard for AI agent config",
19
+ },
20
+ "claude-local": {
21
+ filename: "CLAUDE.local.md",
22
+ sourceFile: "CLAUDE.local.md",
23
+ needsName: false,
24
+ description: "Local-only instructions (add to .gitignore)",
25
+ },
26
+ skill: {
27
+ filename: "SKILL.md",
28
+ sourceFile: "SKILL.md",
29
+ needsName: true,
30
+ description: "Reusable workflow in .claude/skills/<name>/SKILL.md",
31
+ },
32
+ rule: {
33
+ filename: "<name>.md",
34
+ sourceFile: "rule-template.md",
35
+ needsName: true,
36
+ description: "Scoped instructions in .claude/rules/<name>.md",
37
+ },
38
+ command: {
39
+ filename: "<name>.md",
40
+ sourceFile: "command-template.md",
41
+ needsName: true,
42
+ description: "Legacy slash command in .claude/commands/<name>.md",
43
+ },
44
+ settings: {
45
+ filename: "settings.json",
46
+ sourceFile: "settings.json",
47
+ needsName: false,
48
+ description: "Project settings in .claude/settings.json",
49
+ },
50
+ "settings-local": {
51
+ filename: "settings.local.json",
52
+ sourceFile: "settings.local.json",
53
+ needsName: false,
54
+ description: "Local project overrides in .claude/settings.local.json (add to .gitignore)",
55
+ },
56
+ mcp: {
57
+ filename: ".mcp.json",
58
+ sourceFile: "mcp.json",
59
+ needsName: false,
60
+ description: "MCP server config in project root",
61
+ },
62
+ // Codex equivalents (OpenAI Codex CLI)
63
+ "agents-override": {
64
+ filename: "AGENTS.override.md",
65
+ sourceFile: "AGENTS.override.md",
66
+ needsName: false,
67
+ description: "Codex local overrides (like CLAUDE.local.md; add to .gitignore)",
68
+ },
69
+ plan: {
70
+ filename: "PLAN.md",
71
+ sourceFile: "PLAN.md",
72
+ needsName: false,
73
+ description: "Codex multi-step implementation strategy",
74
+ },
75
+ implement: {
76
+ filename: "IMPLEMENT.md",
77
+ sourceFile: "IMPLEMENT.md",
78
+ needsName: false,
79
+ description: "Codex runbook referencing PLAN.md",
80
+ },
81
+ codex: {
82
+ filename: "CODEX.md",
83
+ sourceFile: "CODEX.md",
84
+ needsName: false,
85
+ description: "Legacy Codex repo instructions (superseded by AGENTS.md in 0.27+)",
86
+ },
87
+ };
88
+ export function getTemplateUrl(type, branch, name) {
89
+ const def = WAI_TYPES[type];
90
+ if (!def)
91
+ throw new Error(`Unknown type: ${type}`);
92
+ const sourceFile = def.sourceFile;
93
+ return `https://raw.githubusercontent.com/${TOOLS_REPO}/${branch}/${TEMPLATE_BASE}/${sourceFile}`;
94
+ }
95
+ export function getOutputPath(type, cwd, options, name) {
96
+ if (options.output) {
97
+ return options.output.startsWith("/")
98
+ ? options.output
99
+ : `${cwd}/${options.output}`.replace(/\/+/g, "/");
100
+ }
101
+ const def = WAI_TYPES[type];
102
+ if (!def)
103
+ throw new Error(`Unknown type: ${type}`);
104
+ if (def.needsName && name) {
105
+ if (type === "skill") {
106
+ return `${cwd}/.claude/skills/${name}/SKILL.md`.replace(/\/+/g, "/");
107
+ }
108
+ if (type === "rule") {
109
+ return `${cwd}/.claude/rules/${name}.md`.replace(/\/+/g, "/");
110
+ }
111
+ if (type === "command") {
112
+ return `${cwd}/.claude/commands/${name}.md`.replace(/\/+/g, "/");
113
+ }
114
+ }
115
+ // settings, settings-local, mcp always go to .claude/ or project root
116
+ if (type === "settings" || type === "settings-local") {
117
+ return `${cwd}/.claude/${def.filename}`.replace(/\/+/g, "/");
118
+ }
119
+ if (type === "mcp") {
120
+ return `${cwd}/.mcp.json`.replace(/\/+/g, "/");
121
+ }
122
+ // Codex files go to project root
123
+ if (type === "agents-override" || type === "plan" || type === "implement" || type === "codex") {
124
+ return `${cwd}/${def.filename}`.replace(/\/+/g, "/");
125
+ }
126
+ const base = options.claudeDir ? ".claude" : ".";
127
+ return `${cwd}/${base}/${def.filename}`.replace(/\/+/g, "/");
128
+ }
129
+ export async function fetchTemplate(url) {
130
+ const res = await fetch(url);
131
+ if (!res.ok) {
132
+ throw new Error(`Failed to fetch template (${res.status}): ${url}\n${await res.text().catch(() => "")}`);
133
+ }
134
+ return res.text();
135
+ }
136
+ //# sourceMappingURL=config-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-templates.js","sourceRoot":"","sources":["../../../src/commands/wai/config-templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,aAAa,GAAG,aAAa,CAAC;AASpC,MAAM,CAAC,MAAM,SAAS,GAAkC;IACtD,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,+CAA+C;KAC7D;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,iBAAiB;QAC7B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,6CAA6C;KAC3D;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,qDAAqD;KACnE;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,gDAAgD;KAC9D;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,oDAAoD;KAClE;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,2CAA2C;KACzD;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,qBAAqB;QAC/B,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,4EAA4E;KAC1F;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD,uCAAuC;IACvC,iBAAiB,EAAE;QACjB,QAAQ,EAAE,oBAAoB;QAC9B,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,iEAAiE;KAC/E;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,0CAA0C;KACxD;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,mEAAmE;KACjF;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,MAAc,EACd,IAAa;IAEb,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,OAAO,qCAAqC,UAAU,IAAI,MAAM,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,GAAW,EACX,OAAiD,EACjD,IAAa;IAEb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAEnD,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,GAAG,mBAAmB,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,qBAAqB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrD,OAAO,GAAG,GAAG,YAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9F,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,OAAO,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,CAAC,MAAM,MAAM,GAAG,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from "@caporal/core";
2
+ export interface WaiConfigOptions {
3
+ overwrite: boolean;
4
+ branch: string;
5
+ output?: string;
6
+ claudeDir: boolean;
7
+ }
8
+ export declare function runWaiConfig(type: string, name: string | undefined, options: WaiConfigOptions, logger: Logger): Promise<void>;
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/wai/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA+G5C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
@@ -0,0 +1,144 @@
1
+ import { existsSync, mkdirSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ import { fetchTemplate, getOutputPath, getTemplateUrl, WAI_TYPES, } from "./config-templates";
4
+ const DEFAULT_BRANCH = "main";
5
+ /** Fallback templates when GitHub fetch fails (e.g. before push, offline) */
6
+ const FALLBACK_TEMPLATES = {
7
+ "CLAUDE.md": `# Project Memory (CLAUDE.md)
8
+
9
+ Primary project context loaded at the start of every session.
10
+
11
+ ## About This Project
12
+
13
+ ## Build & Run
14
+
15
+ ## Architecture
16
+
17
+ ## Coding Standards
18
+ `,
19
+ "AGENTS.md": `# AGENTS.md
20
+
21
+ Open standard for AI agent configuration.
22
+
23
+ ## Project Context
24
+
25
+ ## Conventions
26
+
27
+ ## Key Commands
28
+ `,
29
+ "CLAUDE.local.md": `# CLAUDE.local.md
30
+
31
+ Local-only instructions. Add to .gitignore. Do not commit.
32
+ `,
33
+ "SKILL.md": `---
34
+ name: Skill Name
35
+ description: What this skill does
36
+ ---
37
+
38
+ # Skill
39
+
40
+ Reusable multi-step workflow. Add steps and notes below.
41
+ `,
42
+ "rule-template.md": `# Rule
43
+
44
+ Scoped instructions for specific file types or paths.
45
+
46
+ ## Applies To
47
+
48
+ ## Instructions
49
+ `,
50
+ "command-template.md": `# Slash Command
51
+
52
+ Legacy slash command. Define the workflow and instructions.
53
+
54
+ ## Usage
55
+
56
+ ## Steps
57
+ `,
58
+ "settings.json": `{
59
+ "$schema": "https://claude.com/schemas/settings.json"
60
+ }
61
+ `,
62
+ "settings.local.json": `{
63
+ "$schema": "https://claude.com/schemas/settings.json"
64
+ }
65
+ `,
66
+ "mcp.json": `{
67
+ "mcpServers": {}
68
+ }
69
+ `,
70
+ // Codex equivalents
71
+ "AGENTS.override.md": `# AGENTS.override.md
72
+
73
+ Codex local overrides. Add to .gitignore. Do not commit.
74
+ Personal or local instructions that override project-wide AGENTS.md.
75
+ `,
76
+ "PLAN.md": `# PLAN.md
77
+
78
+ Codex multi-step implementation strategy.
79
+ Draft and iterate on implementation approaches before writing code.
80
+
81
+ ## Goal
82
+
83
+ ## Steps
84
+
85
+ ## Notes
86
+ `,
87
+ "IMPLEMENT.md": `# IMPLEMENT.md
88
+
89
+ Codex runbook. Execution instructions referencing PLAN.md.
90
+
91
+ ## References
92
+
93
+ - See PLAN.md for the implementation strategy.
94
+
95
+ ## Runbook
96
+ `,
97
+ "CODEX.md": `# CODEX.md
98
+
99
+ Legacy Codex repository instructions.
100
+ In Codex 0.27+, AGENTS.md is preferred.
101
+ `,
102
+ };
103
+ export async function runWaiConfig(type, name, options, logger) {
104
+ const def = WAI_TYPES[type];
105
+ if (!def) {
106
+ logger.error(`Unknown type: '${type}'. Valid: ${Object.keys(WAI_TYPES).join(", ")}`);
107
+ process.exit(1);
108
+ }
109
+ if (def.needsName && !name?.trim()) {
110
+ logger.error(`Type '${type}' requires a name. Example: blt wai ${type} my-name`);
111
+ process.exit(1);
112
+ }
113
+ const cwd = process.cwd();
114
+ const targetPath = getOutputPath(type, cwd, options, name);
115
+ if (existsSync(targetPath) && !options.overwrite) {
116
+ logger.warn(`File already exists: ${targetPath}`);
117
+ logger.warn("Use --overwrite to replace it.");
118
+ return;
119
+ }
120
+ const branch = options.branch || DEFAULT_BRANCH;
121
+ const sourceFile = def.sourceFile;
122
+ let content;
123
+ try {
124
+ const url = getTemplateUrl(type, branch, name);
125
+ content = await fetchTemplate(url);
126
+ }
127
+ catch (err) {
128
+ const fallback = FALLBACK_TEMPLATES[sourceFile];
129
+ if (fallback) {
130
+ logger.warn("Could not fetch from GitHub, using built-in template. Push templates to the tools repo for the latest versions.");
131
+ content = fallback;
132
+ }
133
+ else {
134
+ const msg = err instanceof Error ? err.message : String(err);
135
+ logger.error(`Failed to fetch template: ${msg}`);
136
+ process.exit(1);
137
+ }
138
+ }
139
+ const dir = dirname(targetPath);
140
+ mkdirSync(dir, { recursive: true });
141
+ await Bun.write(targetPath, content);
142
+ logger.info(`Created: ${targetPath}`);
143
+ }
144
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/wai/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Program } from "@caporal/core";
2
+ /**
3
+ * Register wai command with the CLI program.
4
+ * WAI = BLT WAI (bltwai.com) — AI/agent config templates.
5
+ */
6
+ export default function waiCommand(program: Program): void;
7
+ //# sourceMappingURL=wai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wai.d.ts","sourceRoot":"","sources":["../../src/commands/wai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,eAAe,CAAC;AAGpE;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QA+PlD"}
@@ -0,0 +1,208 @@
1
+ import { runWaiConfig } from "./wai/config";
2
+ /**
3
+ * Register wai command with the CLI program.
4
+ * WAI = BLT WAI (bltwai.com) — AI/agent config templates.
5
+ */
6
+ export default function waiCommand(program) {
7
+ const waiHelpText = `
8
+ bltwai.com is our main domain name and stands for
9
+ Beyond Limited Thinking with Artificial Intelligence
10
+
11
+ blt wai — AI and agent configuration templates
12
+
13
+ Usage:
14
+ blt wai <type> [name] [options]
15
+
16
+ Types:
17
+ claude CLAUDE.md — primary project memory (loaded every session)
18
+ agents AGENTS.md — open standard for AI agent config
19
+ claude-local CLAUDE.local.md — local-only (add to .gitignore)
20
+ skill <name> .claude/skills/<name>/SKILL.md — reusable workflow
21
+ rule <name> .claude/rules/<name>.md — scoped instructions
22
+ command <name> .claude/commands/<name>.md — legacy slash command
23
+ settings .claude/settings.json — project settings
24
+ settings-local .claude/settings.local.json — local overrides (add to .gitignore)
25
+ mcp .mcp.json — MCP server config
26
+ agents-override AGENTS.override.md — Codex local overrides (add to .gitignore)
27
+ plan PLAN.md — Codex multi-step strategy
28
+ implement IMPLEMENT.md — Codex runbook
29
+ codex CODEX.md — Legacy Codex instructions
30
+
31
+ Examples:
32
+ blt wai claude
33
+ blt wai agents
34
+ blt wai claude-local
35
+ blt wai skill my-skill
36
+ blt wai rule typescript
37
+ blt wai command review
38
+ blt wai settings
39
+ blt wai mcp
40
+ blt wai agents-override
41
+ blt wai plan
42
+ blt wai implement
43
+
44
+ Templates are fetched from the tools repo. Uses built-in fallback when offline.
45
+ `;
46
+ program
47
+ .command("wai", "ai and agent configuration")
48
+ .help(waiHelpText)
49
+ .action(() => {
50
+ console.log(waiHelpText);
51
+ });
52
+ program
53
+ .command("wai claude", "Create CLAUDE.md — project memory")
54
+ .hide()
55
+ .help("Create CLAUDE.md — primary project memory for Claude Code.\n\n" +
56
+ "Loaded at the start of every session. Use for coding standards, build commands,\n" +
57
+ "architectural decisions, and domain context. Place in project root, or use\n" +
58
+ "--claude-dir to write to .claude/CLAUDE.md instead.")
59
+ .option("--overwrite", "Replace existing file", { default: false })
60
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
61
+ .option("--output <path>", "Override output path", {})
62
+ .option("--claude-dir", "Write to .claude/ subdirectory", { default: false })
63
+ .action(waiAction("claude"));
64
+ program
65
+ .command("wai agents", "Create AGENTS.md — open standard config")
66
+ .hide()
67
+ .help("Create AGENTS.md — emerging open standard for AI agent configuration.\n\n" +
68
+ "Shared across Claude Code, Codex, and Cursor. Use when you want a single file\n" +
69
+ "that works with multiple AI assistants, avoiding duplicated rules. Complements\n" +
70
+ "or replaces CLAUDE.md for cross-tool projects.")
71
+ .option("--overwrite", "Replace existing file", { default: false })
72
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
73
+ .option("--output <path>", "Override output path", {})
74
+ .option("--claude-dir", "Write to .claude/ subdirectory", { default: false })
75
+ .action(waiAction("agents"));
76
+ program
77
+ .command("wai claude-local", "Create CLAUDE.local.md — local only")
78
+ .hide()
79
+ .help("Create CLAUDE.local.md — local-only instructions for Claude Code.\n\n" +
80
+ "Personal preferences, local paths, or instructions you don't want to share.\n" +
81
+ "Add to .gitignore so it is never committed. Claude loads this after CLAUDE.md.")
82
+ .option("--overwrite", "Replace existing file", { default: false })
83
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
84
+ .option("--output <path>", "Override output path", {})
85
+ .option("--claude-dir", "Write to .claude/ subdirectory", { default: false })
86
+ .action(waiAction("claude-local"));
87
+ program
88
+ .command("wai skill", "Create .claude/skills/<name>/SKILL.md")
89
+ .hide()
90
+ .help("Create a Skill — reusable multi-step workflow for Claude Code.\n\n" +
91
+ "Skills use YAML frontmatter (name, description) plus markdown instructions.\n" +
92
+ "Claude can invoke them automatically or via slash command. Use for common\n" +
93
+ "tasks like code review, refactoring patterns, or deployment checklists.")
94
+ .argument("<name>", "Skill name")
95
+ .option("--overwrite", "Replace existing file", { default: false })
96
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
97
+ .option("--output <path>", "Override output path", {})
98
+ .action(waiAction("skill"));
99
+ program
100
+ .command("wai rule", "Create .claude/rules/<name>.md")
101
+ .hide()
102
+ .help("Create a Rule — scoped instructions for file types or paths.\n\n" +
103
+ "Rules let you attach specific guidance to certain files or directories (e.g.\n" +
104
+ "typescript.md for .ts files). Keeps the main CLAUDE.md concise. Claude loads\n" +
105
+ "rules when working in matching paths.")
106
+ .argument("<name>", "Rule name")
107
+ .option("--overwrite", "Replace existing file", { default: false })
108
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
109
+ .option("--output <path>", "Override output path", {})
110
+ .action(waiAction("rule"));
111
+ program
112
+ .command("wai command", "Create .claude/commands/<name>.md — legacy slash command")
113
+ .hide()
114
+ .help("Create a legacy slash command in .claude/commands/.\n\n" +
115
+ "Pre-SKILL.md format. Similar to skills but stored in .claude/commands/.\n" +
116
+ "Still recognized by Claude Code. Use for simple slash-triggered workflows\n" +
117
+ "or when migrating from older setups.")
118
+ .argument("<name>", "Command name")
119
+ .option("--overwrite", "Replace existing file", { default: false })
120
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
121
+ .option("--output <path>", "Override output path", {})
122
+ .action(waiAction("command"));
123
+ program
124
+ .command("wai settings", "Create .claude/settings.json")
125
+ .hide()
126
+ .help("Create .claude/settings.json — Claude Code project settings.\n\n" +
127
+ "Shared project configuration (model preferences, approval policy, etc.).\n" +
128
+ "Commit this file to version control so the whole team gets the same setup.")
129
+ .option("--overwrite", "Replace existing file", { default: false })
130
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
131
+ .option("--output <path>", "Override output path", {})
132
+ .action(waiAction("settings"));
133
+ program
134
+ .command("wai settings-local", "Create .claude/settings.local.json")
135
+ .hide()
136
+ .help("Create .claude/settings.local.json — personal Claude Code overrides.\n\n" +
137
+ "Personal project settings that override the shared settings.json. Add to\n" +
138
+ ".gitignore so it is never committed. Use for local paths or preferences.")
139
+ .option("--overwrite", "Replace existing file", { default: false })
140
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
141
+ .option("--output <path>", "Override output path", {})
142
+ .action(waiAction("settings-local"));
143
+ program
144
+ .command("wai mcp", "Create .mcp.json — MCP server config")
145
+ .hide()
146
+ .help("Create .mcp.json — Model Context Protocol server configuration.\n\n" +
147
+ "Connects Claude to external data sources (Jira, Slack, Google Drive, etc.).\n" +
148
+ "Placed in project root. Define mcpServers with endpoints and credentials.")
149
+ .option("--overwrite", "Replace existing file", { default: false })
150
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
151
+ .option("--output <path>", "Override output path", {})
152
+ .action(waiAction("mcp"));
153
+ program
154
+ .command("wai agents-override", "Create AGENTS.override.md — Codex local overrides")
155
+ .hide()
156
+ .help("Create AGENTS.override.md — Codex local overrides (OpenAI Codex CLI).\n\n" +
157
+ "Codex equivalent of CLAUDE.local.md. Personal or local instructions that\n" +
158
+ "override project-wide AGENTS.md without changing the shared file. Add to\n" +
159
+ ".gitignore. Codex merges overrides when walking from repo root.")
160
+ .option("--overwrite", "Replace existing file", { default: false })
161
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
162
+ .option("--output <path>", "Override output path", {})
163
+ .action(waiAction("agents-override"));
164
+ program
165
+ .command("wai plan", "Create PLAN.md — Codex multi-step strategy")
166
+ .hide()
167
+ .help("Create PLAN.md — Codex multi-step implementation strategy.\n\n" +
168
+ "Codex uses this to draft and iterate on implementation approaches before\n" +
169
+ "writing code. Use for complex or long-horizon tasks. Reference from IMPLEMENT.md\n" +
170
+ "to keep the agent on track during execution.")
171
+ .option("--overwrite", "Replace existing file", { default: false })
172
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
173
+ .option("--output <path>", "Override output path", {})
174
+ .action(waiAction("plan"));
175
+ program
176
+ .command("wai implement", "Create IMPLEMENT.md — Codex runbook")
177
+ .hide()
178
+ .help("Create IMPLEMENT.md — Codex runbook for execution.\n\n" +
179
+ "Acts as a runbook with specific execution instructions. References PLAN.md\n" +
180
+ "so Codex stays aligned with the strategy while working. Use with PLAN.md\n" +
181
+ "for structured multi-step implementation.")
182
+ .option("--overwrite", "Replace existing file", { default: false })
183
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
184
+ .option("--output <path>", "Override output path", {})
185
+ .action(waiAction("implement"));
186
+ program
187
+ .command("wai codex", "Create CODEX.md — legacy Codex instructions")
188
+ .hide()
189
+ .help("Create CODEX.md — legacy OpenAI Codex repository instructions.\n\n" +
190
+ "Historically used for repo-specific guidance. In Codex 0.27+, AGENTS.md is\n" +
191
+ "preferred. Use only when maintaining projects on older Codex versions.")
192
+ .option("--overwrite", "Replace existing file", { default: false })
193
+ .option("--branch <branch>", "GitHub branch for templates", { default: "main" })
194
+ .option("--output <path>", "Override output path", {})
195
+ .action(waiAction("codex"));
196
+ function waiAction(type) {
197
+ return async ({ args, options, logger, }) => {
198
+ const name = args.name;
199
+ await runWaiConfig(type, name, {
200
+ overwrite: options.overwrite,
201
+ branch: options.branch,
202
+ output: options.output,
203
+ claudeDir: options.claudeDir ?? false,
204
+ }, logger);
205
+ };
206
+ }
207
+ }
208
+ //# sourceMappingURL=wai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wai.js","sourceRoot":"","sources":["../../src/commands/wai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Program } from "@caporal/core";
2
+ /**
3
+ * Register workflow commands with the CLI program
4
+ */
5
+ export default function workflowCommand(program: Program): void;
6
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAmD5E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,OAAO,EAAE,OAAO,QAgWvD"}