@codemarc/blt 1.9.0 → 1.10.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/README.md +67 -75
- package/dist/commands/app/data.d.ts +2 -0
- package/dist/commands/app/data.d.ts.map +1 -1
- package/dist/commands/app/data.js +2 -2
- package/dist/commands/app/data.js.map +1 -1
- package/dist/commands/app.d.ts.map +1 -1
- package/dist/commands/app.js +8 -4
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/data/apply.d.ts +1 -0
- package/dist/commands/data/apply.d.ts.map +1 -1
- package/dist/commands/data/apply.js +4 -1
- package/dist/commands/data/apply.js.map +1 -1
- package/dist/commands/data.d.ts.map +1 -1
- package/dist/commands/data.js +3 -2
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/deploy/data.d.ts +2 -1
- package/dist/commands/deploy/data.d.ts.map +1 -1
- package/dist/commands/deploy/data.js +2 -2
- package/dist/commands/deploy/data.js.map +1 -1
- package/dist/commands/deploy/schema.d.ts +2 -1
- package/dist/commands/deploy/schema.d.ts.map +1 -1
- package/dist/commands/deploy/schema.js +2 -2
- package/dist/commands/deploy/schema.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +9 -6
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/notify/google-chat.js +1 -1
- package/dist/commands/notify/google-chat.js.map +1 -1
- package/dist/commands/wai/multi-agent.d.ts +22 -0
- package/dist/commands/wai/multi-agent.d.ts.map +1 -0
- package/dist/commands/wai/multi-agent.js +209 -0
- package/dist/commands/wai/multi-agent.js.map +1 -0
- package/dist/commands/wai.d.ts.map +1 -1
- package/dist/commands/wai.js +60 -2
- package/dist/commands/wai.js.map +1 -1
- package/dist/lib/database-runner.d.ts +6 -2
- package/dist/lib/database-runner.d.ts.map +1 -1
- package/dist/lib/database-runner.js +82 -45
- package/dist/lib/database-runner.js.map +1 -1
- package/dist/lib/split-sql-statements.d.ts +8 -0
- package/dist/lib/split-sql-statements.d.ts.map +1 -0
- package/dist/lib/split-sql-statements.js +120 -0
- package/dist/lib/split-sql-statements.js.map +1 -0
- package/package.json +2 -2
package/dist/commands/deploy.js
CHANGED
|
@@ -32,10 +32,11 @@ Run 'blt deploy <operation> --help' for more information on a specific command.
|
|
|
32
32
|
.command("deploy schema", "Deploy schema from .sql files")
|
|
33
33
|
.hide()
|
|
34
34
|
.argument("[name]", "Schema name")
|
|
35
|
-
.
|
|
35
|
+
.option("--verbose", "Log each SQL statement as it runs", { default: false })
|
|
36
|
+
.action(async ({ args, options, logger }) => {
|
|
36
37
|
try {
|
|
37
38
|
const name = args.name;
|
|
38
|
-
await deploySchema(name, logger);
|
|
39
|
+
await deploySchema(name, logger, { verbose: Boolean(options.verbose) });
|
|
39
40
|
}
|
|
40
41
|
catch (error) {
|
|
41
42
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -47,10 +48,11 @@ Run 'blt deploy <operation> --help' for more information on a specific command.
|
|
|
47
48
|
.command("deploy data", "Deploy data instance from .sql files")
|
|
48
49
|
.hide()
|
|
49
50
|
.argument("[name]", "Instance name")
|
|
50
|
-
.
|
|
51
|
+
.option("--verbose", "Log each SQL statement as it runs", { default: false })
|
|
52
|
+
.action(async ({ args, options, logger }) => {
|
|
51
53
|
try {
|
|
52
54
|
const name = args.name;
|
|
53
|
-
await deployData(name, logger);
|
|
55
|
+
await deployData(name, logger, { verbose: Boolean(options.verbose) });
|
|
54
56
|
}
|
|
55
57
|
catch (error) {
|
|
56
58
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -62,10 +64,11 @@ Run 'blt deploy <operation> --help' for more information on a specific command.
|
|
|
62
64
|
.command("deploy sql", "Deploy a named SQL file to database")
|
|
63
65
|
.hide()
|
|
64
66
|
.argument("<file>", "Path to SQL file")
|
|
65
|
-
.
|
|
67
|
+
.option("--verbose", "Log each SQL statement as it runs", { default: false })
|
|
68
|
+
.action(async ({ args, options, logger }) => {
|
|
66
69
|
try {
|
|
67
70
|
const file = args.file;
|
|
68
|
-
await runSqlFile(file);
|
|
71
|
+
await runSqlFile(file, undefined, { verbose: Boolean(options.verbose) });
|
|
69
72
|
}
|
|
70
73
|
catch (error) {
|
|
71
74
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAgB;IACrD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;CAcvB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAChD,IAAI,CAAC,cAAc,CAAC;SACpB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACzD,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export const DEFAULT_GOOGLE_CHAT_TITLE = "Notification";
|
|
|
4
4
|
export function formatGoogleChatMessage(opts) {
|
|
5
5
|
const title = opts.title ?? DEFAULT_GOOGLE_CHAT_TITLE;
|
|
6
6
|
if (opts.message) {
|
|
7
|
-
return
|
|
7
|
+
return opts.message;
|
|
8
8
|
}
|
|
9
9
|
if (!opts.env || !opts.status) {
|
|
10
10
|
throw new Error("Deploy template requires --env and --status (or pass --message).");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-chat.js","sourceRoot":"","sources":["../../../src/commands/notify/google-chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAexD,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,yBAAyB,CAAC;IAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"google-chat.js","sourceRoot":"","sources":["../../../src/commands/notify/google-chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAexD,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,yBAAyB,CAAC;IAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,GAAG,cAAc,CAAC;IAElE,OAAO,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,aAAa,MAAM,aAAa,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACxE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,+BAA+B,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAA6B,EAC7B,MAAc;IAEd,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;IAC/E,MAAM,CAAC,IAAI,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,oCAAoC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Logger } from "@caporal/core";
|
|
2
|
+
export declare const WAI_SOURCE_FILE = "SKILL.md";
|
|
3
|
+
export interface WaiWorkflowOptions {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
overwrite?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface WaiDoctorResult {
|
|
8
|
+
ok: boolean;
|
|
9
|
+
missing: string[];
|
|
10
|
+
stale: string[];
|
|
11
|
+
}
|
|
12
|
+
interface WaiAgentTarget {
|
|
13
|
+
agent: string;
|
|
14
|
+
path: string;
|
|
15
|
+
render: (source: string) => string;
|
|
16
|
+
}
|
|
17
|
+
export declare const WAI_AGENT_TARGETS: WaiAgentTarget[];
|
|
18
|
+
export declare function runWaiInit(options: WaiWorkflowOptions, logger: Logger): Promise<void>;
|
|
19
|
+
export declare function runWaiSync(options: WaiWorkflowOptions, logger: Logger): Promise<void>;
|
|
20
|
+
export declare function runWaiDoctor(options: WaiWorkflowOptions, logger: Logger): Promise<WaiDoctorResult>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=multi-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent.d.ts","sourceRoot":"","sources":["../../../src/commands/wai/multi-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,eAAe,aAAa,CAAC;AAI1C,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAqE7C,CAAC;AAaF,wBAAsB,UAAU,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC,CA6B1B"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
export const WAI_SOURCE_FILE = "SKILL.md";
|
|
4
|
+
const GENERATED_NOTE = "Generated by blt wai sync. Edit SKILL.md to update.";
|
|
5
|
+
export const WAI_AGENT_TARGETS = [
|
|
6
|
+
{
|
|
7
|
+
agent: "Claude Code",
|
|
8
|
+
path: "CLAUDE.md",
|
|
9
|
+
render: (source) => markdownTarget("Claude Code Instructions", source),
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
agent: "Codex",
|
|
13
|
+
path: "AGENTS.md",
|
|
14
|
+
render: (source) => markdownTarget("AGENTS.md", source),
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
agent: "Cursor",
|
|
18
|
+
path: ".cursor/rules/blt.mdc",
|
|
19
|
+
render: (source) => [
|
|
20
|
+
"---",
|
|
21
|
+
"description: BLT WAI generated project rules",
|
|
22
|
+
'globs: "**/*"',
|
|
23
|
+
"alwaysApply: true",
|
|
24
|
+
"---",
|
|
25
|
+
"",
|
|
26
|
+
"# Cursor Project Rules",
|
|
27
|
+
"",
|
|
28
|
+
generatedBlockQuote(),
|
|
29
|
+
"",
|
|
30
|
+
sourceBody(source),
|
|
31
|
+
].join("\n"),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
agent: "Aider",
|
|
35
|
+
path: "CONVENTIONS.md",
|
|
36
|
+
render: (source) => markdownTarget("Aider Conventions", source),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
agent: "Aider config",
|
|
40
|
+
path: ".aider.conf.yml",
|
|
41
|
+
render: () => [
|
|
42
|
+
"# Generated by blt wai sync. Edit SKILL.md to update.",
|
|
43
|
+
"read:",
|
|
44
|
+
" - CONVENTIONS.md",
|
|
45
|
+
"",
|
|
46
|
+
].join("\n"),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
agent: "Gemini CLI",
|
|
50
|
+
path: "GEMINI.md",
|
|
51
|
+
render: (source) => markdownTarget("GEMINI.md", source),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
agent: "Goose",
|
|
55
|
+
path: ".agents/skills/blt/SKILL.md",
|
|
56
|
+
render: (source) => [
|
|
57
|
+
"---",
|
|
58
|
+
"name: blt",
|
|
59
|
+
"description: Shared project rules generated by blt wai",
|
|
60
|
+
"---",
|
|
61
|
+
"",
|
|
62
|
+
"# BLT Project Skill",
|
|
63
|
+
"",
|
|
64
|
+
generatedBlockQuote(),
|
|
65
|
+
"",
|
|
66
|
+
sourceBody(source),
|
|
67
|
+
].join("\n"),
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
agent: "Cline",
|
|
71
|
+
path: ".clinerules",
|
|
72
|
+
render: (source) => markdownTarget("Cline Project Rules", source),
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
const GENERATED_GITIGNORE_ENTRIES = [
|
|
76
|
+
"CLAUDE.md",
|
|
77
|
+
"AGENTS.md",
|
|
78
|
+
"CONVENTIONS.md",
|
|
79
|
+
"GEMINI.md",
|
|
80
|
+
".clinerules",
|
|
81
|
+
".aider.conf.yml",
|
|
82
|
+
".cursor/rules/",
|
|
83
|
+
".agents/",
|
|
84
|
+
];
|
|
85
|
+
export async function runWaiInit(options, logger) {
|
|
86
|
+
const cwd = options.cwd ?? process.cwd();
|
|
87
|
+
const sourcePath = join(cwd, WAI_SOURCE_FILE);
|
|
88
|
+
if (existsSync(sourcePath) && !options.overwrite) {
|
|
89
|
+
logger.warn(`${WAI_SOURCE_FILE} already exists; use --overwrite to replace it.`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
writeFileSync(sourcePath, defaultSkillSource(), "utf8");
|
|
93
|
+
logger.info(`Created: ${sourcePath}`);
|
|
94
|
+
}
|
|
95
|
+
export async function runWaiSync(options, logger) {
|
|
96
|
+
const cwd = options.cwd ?? process.cwd();
|
|
97
|
+
const source = readSource(cwd);
|
|
98
|
+
for (const target of WAI_AGENT_TARGETS) {
|
|
99
|
+
const targetPath = join(cwd, target.path);
|
|
100
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
101
|
+
writeFileSync(targetPath, ensureTrailingNewline(target.render(source)), "utf8");
|
|
102
|
+
logger.info(`Synced ${target.agent}: ${targetPath}`);
|
|
103
|
+
}
|
|
104
|
+
updateGitignore(cwd);
|
|
105
|
+
logger.info(`Updated: ${join(cwd, ".gitignore")}`);
|
|
106
|
+
}
|
|
107
|
+
export async function runWaiDoctor(options, logger) {
|
|
108
|
+
const cwd = options.cwd ?? process.cwd();
|
|
109
|
+
const source = readSource(cwd);
|
|
110
|
+
const missing = [];
|
|
111
|
+
const stale = [];
|
|
112
|
+
for (const target of WAI_AGENT_TARGETS) {
|
|
113
|
+
const targetPath = join(cwd, target.path);
|
|
114
|
+
if (!existsSync(targetPath)) {
|
|
115
|
+
missing.push(target.path);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const actual = readFileSync(targetPath, "utf8");
|
|
119
|
+
const expected = ensureTrailingNewline(target.render(source));
|
|
120
|
+
if (actual !== expected) {
|
|
121
|
+
stale.push(target.path);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const ok = missing.length === 0 && stale.length === 0;
|
|
125
|
+
if (ok) {
|
|
126
|
+
logger.info("All blt wai generated files are synchronized.");
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
for (const path of missing)
|
|
130
|
+
logger.warn(`Missing generated file: ${path}`);
|
|
131
|
+
for (const path of stale)
|
|
132
|
+
logger.warn(`Stale generated file: ${path}`);
|
|
133
|
+
}
|
|
134
|
+
return { ok, missing, stale };
|
|
135
|
+
}
|
|
136
|
+
function readSource(cwd) {
|
|
137
|
+
const sourcePath = join(cwd, WAI_SOURCE_FILE);
|
|
138
|
+
if (!existsSync(sourcePath)) {
|
|
139
|
+
throw new Error(`Missing ${WAI_SOURCE_FILE}. Run 'blt wai init' first.`);
|
|
140
|
+
}
|
|
141
|
+
return readFileSync(sourcePath, "utf8");
|
|
142
|
+
}
|
|
143
|
+
function defaultSkillSource() {
|
|
144
|
+
return [
|
|
145
|
+
"---",
|
|
146
|
+
"name: blt-project",
|
|
147
|
+
"description: Shared project rules for AI assistants",
|
|
148
|
+
"---",
|
|
149
|
+
"",
|
|
150
|
+
"# Project Rules",
|
|
151
|
+
"",
|
|
152
|
+
"## Context",
|
|
153
|
+
"",
|
|
154
|
+
"Describe the project, runtime, and important domain constraints.",
|
|
155
|
+
"",
|
|
156
|
+
"## Commands",
|
|
157
|
+
"",
|
|
158
|
+
"- Install dependencies with Bun.",
|
|
159
|
+
"- Run tests before claiming code changes are complete.",
|
|
160
|
+
"",
|
|
161
|
+
"## Conventions",
|
|
162
|
+
"",
|
|
163
|
+
"- Keep changes small and focused.",
|
|
164
|
+
"- Do not commit secrets or local-only credentials.",
|
|
165
|
+
"",
|
|
166
|
+
].join("\n");
|
|
167
|
+
}
|
|
168
|
+
function markdownTarget(title, source) {
|
|
169
|
+
return [
|
|
170
|
+
`# ${title}`,
|
|
171
|
+
"",
|
|
172
|
+
generatedBlockQuote(),
|
|
173
|
+
"",
|
|
174
|
+
sourceBody(source),
|
|
175
|
+
].join("\n");
|
|
176
|
+
}
|
|
177
|
+
function generatedBlockQuote() {
|
|
178
|
+
return `> ${GENERATED_NOTE}`;
|
|
179
|
+
}
|
|
180
|
+
function sourceBody(source) {
|
|
181
|
+
const normalized = source.replace(/\r\n/g, "\n").trim();
|
|
182
|
+
const frontmatter = normalized.match(/^---\n[\s\S]*?\n---\n?/);
|
|
183
|
+
return (frontmatter ? normalized.slice(frontmatter[0].length) : normalized).trim();
|
|
184
|
+
}
|
|
185
|
+
function ensureTrailingNewline(content) {
|
|
186
|
+
return `${content.replace(/\s+$/g, "")}\n`;
|
|
187
|
+
}
|
|
188
|
+
function updateGitignore(cwd) {
|
|
189
|
+
const gitignorePath = join(cwd, ".gitignore");
|
|
190
|
+
const existing = existsSync(gitignorePath) ? readFileSync(gitignorePath, "utf8") : "";
|
|
191
|
+
const lines = existing.split(/\r?\n/).filter((line) => line.length > 0);
|
|
192
|
+
const present = new Set(lines);
|
|
193
|
+
const additions = GENERATED_GITIGNORE_ENTRIES.filter((entry) => !present.has(entry));
|
|
194
|
+
if (additions.length === 0) {
|
|
195
|
+
writeFileSync(gitignorePath, ensureTrailingNewline(existing), "utf8");
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const next = [
|
|
199
|
+
existing.trimEnd(),
|
|
200
|
+
existing.trimEnd().length > 0 ? "" : undefined,
|
|
201
|
+
"# blt wai generated files",
|
|
202
|
+
...additions,
|
|
203
|
+
"",
|
|
204
|
+
]
|
|
205
|
+
.filter((line) => line !== undefined)
|
|
206
|
+
.join("\n");
|
|
207
|
+
writeFileSync(gitignorePath, next, "utf8");
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=multi-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent.js","sourceRoot":"","sources":["../../../src/commands/wai/multi-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"wai.d.ts","sourceRoot":"","sources":["../../src/commands/wai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,eAAe,CAAC;AAIpE;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,OAAO,QA6TlD"}
|
package/dist/commands/wai.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { runWaiConfig } from "./wai/config";
|
|
2
|
+
import { runWaiDoctor, runWaiInit, runWaiSync } from "./wai/multi-agent";
|
|
2
3
|
/**
|
|
3
4
|
* Register wai command with the CLI program.
|
|
4
5
|
* WAI = BLT WAI (bltwai.com) — AI/agent config templates.
|
|
@@ -11,9 +12,14 @@ Beyond Limited Thinking with Artificial Intelligence
|
|
|
11
12
|
blt wai — AI and agent configuration templates
|
|
12
13
|
|
|
13
14
|
Usage:
|
|
14
|
-
blt wai <
|
|
15
|
+
blt wai <operation>
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
Operations:
|
|
18
|
+
init Create SKILL.md — shared source of truth for all agents
|
|
19
|
+
sync Generate Claude, Codex, Cursor, Aider, Gemini, Goose, and Cline files
|
|
20
|
+
doctor Check generated agent files against SKILL.md
|
|
21
|
+
|
|
22
|
+
Compatibility template operations:
|
|
17
23
|
claude CLAUDE.md — primary project memory (loaded every session)
|
|
18
24
|
agents AGENTS.md — open standard for AI agent config
|
|
19
25
|
claude-local CLAUDE.local.md — local-only (add to .gitignore)
|
|
@@ -29,6 +35,9 @@ Types:
|
|
|
29
35
|
codex CODEX.md — Legacy Codex instructions
|
|
30
36
|
|
|
31
37
|
Examples:
|
|
38
|
+
blt wai init
|
|
39
|
+
blt wai sync
|
|
40
|
+
blt wai doctor
|
|
32
41
|
blt wai claude
|
|
33
42
|
blt wai agents
|
|
34
43
|
blt wai claude-local
|
|
@@ -42,6 +51,7 @@ Examples:
|
|
|
42
51
|
blt wai implement
|
|
43
52
|
|
|
44
53
|
Templates are fetched from the tools repo. Uses built-in fallback when offline.
|
|
54
|
+
Run 'blt wai <operation> --help' for more information on a specific command.
|
|
45
55
|
`;
|
|
46
56
|
program
|
|
47
57
|
.command("wai", "ai and agent configuration")
|
|
@@ -49,6 +59,54 @@ Templates are fetched from the tools repo. Uses built-in fallback when offline.
|
|
|
49
59
|
.action(() => {
|
|
50
60
|
console.log(waiHelpText);
|
|
51
61
|
});
|
|
62
|
+
program
|
|
63
|
+
.command("wai init", "Create SKILL.md — shared source of truth")
|
|
64
|
+
.hide()
|
|
65
|
+
.help("Create SKILL.md — the source file used by blt wai sync.\n\n" +
|
|
66
|
+
"Edit SKILL.md to maintain shared project instructions, then run blt wai sync\n" +
|
|
67
|
+
"to generate agent-specific files for Claude Code, Codex, Cursor, Aider,\n" +
|
|
68
|
+
"Gemini CLI, Goose, and Cline.")
|
|
69
|
+
.option("--overwrite", "Replace existing SKILL.md", { default: false })
|
|
70
|
+
.action(async ({ options, logger }) => {
|
|
71
|
+
try {
|
|
72
|
+
await runWaiInit({ overwrite: options.overwrite }, logger);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
logger.error(`wai init failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
program
|
|
80
|
+
.command("wai sync", "Generate multi-agent config files from SKILL.md")
|
|
81
|
+
.hide()
|
|
82
|
+
.help("Generate agent-specific config files from SKILL.md.\n\n" +
|
|
83
|
+
"Outputs CLAUDE.md, AGENTS.md, .cursor/rules/blt.mdc, CONVENTIONS.md,\n" +
|
|
84
|
+
".aider.conf.yml, GEMINI.md, .agents/skills/blt/SKILL.md, and .clinerules.")
|
|
85
|
+
.action(async ({ logger }) => {
|
|
86
|
+
try {
|
|
87
|
+
await runWaiSync({}, logger);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
logger.error(`wai sync failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
program
|
|
95
|
+
.command("wai doctor", "Check generated multi-agent config files")
|
|
96
|
+
.hide()
|
|
97
|
+
.help("Check whether generated agent-specific files are synchronized with SKILL.md.\n\n" +
|
|
98
|
+
"Reports missing or stale generated files. Exits non-zero when files need sync.")
|
|
99
|
+
.action(async ({ logger }) => {
|
|
100
|
+
try {
|
|
101
|
+
const result = await runWaiDoctor({}, logger);
|
|
102
|
+
if (!result.ok)
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
logger.error(`wai doctor failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
52
110
|
program
|
|
53
111
|
.command("wai claude", "Create CLAUDE.md — project memory")
|
|
54
112
|
.hide()
|
package/dist/commands/wai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wai.js","sourceRoot":"","sources":["../../src/commands/wai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"wai.js","sourceRoot":"","sources":["../../src/commands/wai.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,19 @@ export interface RunSqlMeta {
|
|
|
9
9
|
readonly path: string;
|
|
10
10
|
readonly version: string;
|
|
11
11
|
}
|
|
12
|
+
export type RunSqlOptions = {
|
|
13
|
+
/** Log and run each statement separately (progress + clearer failure location). */
|
|
14
|
+
verbose?: boolean;
|
|
15
|
+
};
|
|
12
16
|
/**
|
|
13
17
|
* Execute ad-hoc SQL (e.g. snapshot apply bundle).
|
|
14
18
|
*/
|
|
15
|
-
export declare function runSqlContent(sqlContent: string, meta: RunSqlMeta, connectionOverride?: string): Promise<void>;
|
|
19
|
+
export declare function runSqlContent(sqlContent: string, meta: RunSqlMeta, connectionOverride?: string, options?: RunSqlOptions): Promise<void>;
|
|
16
20
|
/**
|
|
17
21
|
* Execute a SQL file against the database.
|
|
18
22
|
* Uses BLT_DATA_LOAD_URL when set (dev snapshot apply), otherwise SUPABASE_CONNECTION_STRING.
|
|
19
23
|
*/
|
|
20
|
-
export declare function runSqlFile(filePath?: string, connectionOverride?: string): Promise<void>;
|
|
24
|
+
export declare function runSqlFile(filePath?: string, connectionOverride?: string, options?: RunSqlOptions): Promise<void>;
|
|
21
25
|
export declare function requireConnectionString(envHint: string): string;
|
|
22
26
|
/**
|
|
23
27
|
* Postgres URL used for snapshot pulls (`blt data pull`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-runner.d.ts","sourceRoot":"","sources":["../../src/lib/database-runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"database-runner.d.ts","sourceRoot":"","sources":["../../src/lib/database-runner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/D;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAqC1C;AAiBD,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAwGF;;GAEG;AACH,wBAAsB,aAAa,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,EAChB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,OAAO,GAAE,aAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC/B,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,OAAO,GAAE,aAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAWD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU/D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAWhD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAWhD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACzC,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAqBvE"}
|