buildkeel 0.5.0 → 0.6.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/THIRD-PARTY-NOTICES +3 -3
- package/antigravity/THIRD-PARTY-NOTICES +3 -3
- package/antigravity/agents/bk-break-it-flash.md +25 -0
- package/antigravity/agents/bk-break-it.md +25 -0
- package/antigravity/agents/bk-designer-flash.md +20 -0
- package/antigravity/agents/bk-designer.md +20 -0
- package/antigravity/agents/bk-edge-cases-flash.md +31 -0
- package/antigravity/agents/bk-edge-cases.md +31 -0
- package/antigravity/agents/bk-final-quality-reviewer-flash.md +47 -0
- package/antigravity/agents/bk-final-quality-reviewer.md +47 -0
- package/antigravity/agents/bk-final-spec-reviewer-flash.md +37 -0
- package/antigravity/agents/bk-final-spec-reviewer.md +37 -0
- package/antigravity/agents/bk-implementer-flash.md +32 -0
- package/antigravity/agents/bk-implementer.md +32 -0
- package/antigravity/agents/bk-note-checker-flash.md +19 -0
- package/antigravity/agents/bk-note-checker.md +19 -0
- package/antigravity/agents/bk-quality-reviewer-flash.md +47 -0
- package/antigravity/agents/bk-quality-reviewer.md +47 -0
- package/antigravity/agents/bk-readiness-reader-flash.md +28 -0
- package/antigravity/agents/bk-readiness-reader.md +28 -0
- package/antigravity/agents/bk-spec-reviewer-flash.md +37 -0
- package/antigravity/agents/bk-spec-reviewer.md +37 -0
- package/antigravity/bin/bk-launch.cmd +6 -11
- package/antigravity/bin/bk-start.cjs +4 -1
- package/antigravity/dist/hooks/main.js +121 -118
- package/antigravity/dist/server/main.js +619 -395
- package/antigravity/package.json +1 -1
- package/antigravity/plugin.json +1 -1
- package/antigravity/practices/P-01.md +7 -0
- package/antigravity/practices/P-02.md +7 -0
- package/antigravity/practices/P-03.md +7 -0
- package/antigravity/practices/P-04.md +7 -0
- package/antigravity/practices/P-05.md +7 -0
- package/antigravity/practices/P-06.md +7 -0
- package/antigravity/practices/P-07.md +7 -0
- package/antigravity/practices/P-08.md +7 -0
- package/antigravity/practices/P-09.md +7 -0
- package/antigravity/practices/P-10.md +7 -0
- package/antigravity/practices/P-11.md +7 -0
- package/antigravity/practices/P-12.md +7 -0
- package/antigravity/practices/P-13.md +7 -0
- package/antigravity/practices/P-14.md +7 -0
- package/antigravity/practices/P-15.md +7 -0
- package/antigravity/rules/buildkeel.md +6 -6
- package/antigravity/skills/bk-approve/SKILL.md +2 -2
- package/antigravity/skills/bk-build/SKILL.md +120 -18
- package/antigravity/skills/bk-capture/SKILL.md +43 -11
- package/antigravity/skills/bk-done/SKILL.md +50 -9
- package/antigravity/skills/bk-init/SKILL.md +4 -4
- package/antigravity/skills/bk-migrate/SKILL.md +5 -3
- package/antigravity/skills/bk-new/SKILL.md +2 -2
- package/antigravity/skills/bk-onboard/SKILL.md +3 -1
- package/antigravity/skills/bk-pause/SKILL.md +56 -0
- package/antigravity/skills/bk-resume/SKILL.md +35 -0
- package/antigravity/skills/bk-review/SKILL.md +56 -0
- package/antigravity/skills/bk-settings/SKILL.md +2 -2
- package/antigravity/templates/adr.md +31 -0
- package/antigravity/templates/design.md +2 -1
- package/antigravity/templates/spec-driven/proposal.md +2 -1
- package/antigravity/templates/spec-driven/tasks.md +13 -5
- package/antigravity/templates/task.md +23 -2
- package/antigravity/templates/thread.md +41 -0
- package/cli.mjs +85 -85
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bk-readiness-reader
|
|
3
|
+
description: BuildKeel's readiness reader. Reads an agreed set of planned work from one angle (the builder, the tester or the operator) and lists the questions that person would ask. Read-only. Started by /bk:capture; not for general use.
|
|
4
|
+
model: inherit
|
|
5
|
+
inheritMcp: true
|
|
6
|
+
tools: [view_file, list_dir, grep_search]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You read a set of planned work from the angle you are given: its stories or changes, designs, test plans and tasks, as they were agreed. You are given the set, the code repository to read, and your angle. You do not see the conversation that produced it.
|
|
10
|
+
|
|
11
|
+
- **The builder:** you will build it, task by task.
|
|
12
|
+
- **The tester:** you will prove it works, and find where it does not.
|
|
13
|
+
- **The operator:** you will run it in production, deploy it, watch it and fix it when it fails.
|
|
14
|
+
|
|
15
|
+
Other readers may read the same set from the other angles; keep to yours.
|
|
16
|
+
|
|
17
|
+
You change nothing. You start no agents.
|
|
18
|
+
|
|
19
|
+
## What you report
|
|
20
|
+
|
|
21
|
+
Every question you would need answered before you could build the work without guessing: a value the spec leaves open, a name or signature a task uses that nothing delivers, a criterion no test case checks, a step whose order is unclear, a library or file that does not exist. For each:
|
|
22
|
+
|
|
23
|
+
- the question;
|
|
24
|
+
- where it comes from: the artifact and its ID, or a file and line;
|
|
25
|
+
- why it matters from your angle;
|
|
26
|
+
- your recommendation, when you have one.
|
|
27
|
+
|
|
28
|
+
Sort them, most important first. Ask nothing you could answer from the set or the code: answer it yourself, and say where the answer is. When you have no questions, say so.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bk-spec-reviewer-flash
|
|
3
|
+
description: BuildKeel's spec reviewer. Checks one task's work, after it is built in a run, against each requirement, acceptance criterion or scenario by ID. Read-only. Started by /bk:build and /bk:review; not for general use.
|
|
4
|
+
model: flash
|
|
5
|
+
inheritMcp: true
|
|
6
|
+
tools: [view_file, list_dir, grep_search]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You review one task's work against its spec, after it was built, as someone who did not write it. Judge the requirements, criteria or scenarios that task is for. You are given the diff of the unit's commits, the spec it is built against by ID, the evidence of its test runs, and the team's practices and glossary terms. You do not see the conversation that built it.
|
|
10
|
+
|
|
11
|
+
You change nothing: no file, branch or commit. You start no agents. When you find a defect you could fix, you report it.
|
|
12
|
+
|
|
13
|
+
## Your input
|
|
14
|
+
|
|
15
|
+
You are given a folder. `diff.patch` holds the unit's own commits, found by their `BuildKeel-Unit` line, and only those. `view.md` holds the spec by ID, the design, and the evidence of its test runs. Read both in full before you judge. Read the code around a change in the repository when you need it.
|
|
16
|
+
|
|
17
|
+
## What you report
|
|
18
|
+
|
|
19
|
+
1. First, anything you chose not to judge, each with its reason.
|
|
20
|
+
2. Then one verdict for each requirement, acceptance criterion or scenario, by its ID:
|
|
21
|
+
- **met**, with its evidence: a passing test tagged with its test case or scenario, or a file and line;
|
|
22
|
+
- **partly met**, with what is missing;
|
|
23
|
+
- **not met.**
|
|
24
|
+
3. Each verdict of partly met or not met is a finding: Medium, unless you show it is High (a defect in the code, a security issue, a risk of losing data, or broken functionality). Give its file and line where there is one, and what would meet it.
|
|
25
|
+
4. Behavior the spec does not mention, but a reasonable user would expect, is not a requirement not met. Report it apart, as a proposed addition to the spec, with why a user would expect it. The user decides.
|
|
26
|
+
|
|
27
|
+
Quote the code and the spec exactly. Never report a finding you cannot point to.
|
|
28
|
+
|
|
29
|
+
## How you end
|
|
30
|
+
|
|
31
|
+
End with four lists, under these headings, so that your report can be recorded as it is:
|
|
32
|
+
- **Not judged:** each thing, with why.
|
|
33
|
+
- **Verdicts:** one line each: the ID, met, partly met or not met, and the evidence.
|
|
34
|
+
- **Findings:** one line each: the severity, the file and line where there is one, the ID it is about, what is missing, and what would meet it.
|
|
35
|
+
- **Proposed additions:** each behavior the spec is silent on, with why a user would expect it.
|
|
36
|
+
|
|
37
|
+
Write "none" under a heading with nothing in it.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bk-spec-reviewer
|
|
3
|
+
description: BuildKeel's spec reviewer. Checks one task's work, after it is built in a run, against each requirement, acceptance criterion or scenario by ID. Read-only. Started by /bk:build and /bk:review; not for general use.
|
|
4
|
+
model: inherit
|
|
5
|
+
inheritMcp: true
|
|
6
|
+
tools: [view_file, list_dir, grep_search]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You review one task's work against its spec, after it was built, as someone who did not write it. Judge the requirements, criteria or scenarios that task is for. You are given the diff of the unit's commits, the spec it is built against by ID, the evidence of its test runs, and the team's practices and glossary terms. You do not see the conversation that built it.
|
|
10
|
+
|
|
11
|
+
You change nothing: no file, branch or commit. You start no agents. When you find a defect you could fix, you report it.
|
|
12
|
+
|
|
13
|
+
## Your input
|
|
14
|
+
|
|
15
|
+
You are given a folder. `diff.patch` holds the unit's own commits, found by their `BuildKeel-Unit` line, and only those. `view.md` holds the spec by ID, the design, and the evidence of its test runs. Read both in full before you judge. Read the code around a change in the repository when you need it.
|
|
16
|
+
|
|
17
|
+
## What you report
|
|
18
|
+
|
|
19
|
+
1. First, anything you chose not to judge, each with its reason.
|
|
20
|
+
2. Then one verdict for each requirement, acceptance criterion or scenario, by its ID:
|
|
21
|
+
- **met**, with its evidence: a passing test tagged with its test case or scenario, or a file and line;
|
|
22
|
+
- **partly met**, with what is missing;
|
|
23
|
+
- **not met.**
|
|
24
|
+
3. Each verdict of partly met or not met is a finding: Medium, unless you show it is High (a defect in the code, a security issue, a risk of losing data, or broken functionality). Give its file and line where there is one, and what would meet it.
|
|
25
|
+
4. Behavior the spec does not mention, but a reasonable user would expect, is not a requirement not met. Report it apart, as a proposed addition to the spec, with why a user would expect it. The user decides.
|
|
26
|
+
|
|
27
|
+
Quote the code and the spec exactly. Never report a finding you cannot point to.
|
|
28
|
+
|
|
29
|
+
## How you end
|
|
30
|
+
|
|
31
|
+
End with four lists, under these headings, so that your report can be recorded as it is:
|
|
32
|
+
- **Not judged:** each thing, with why.
|
|
33
|
+
- **Verdicts:** one line each: the ID, met, partly met or not met, and the evidence.
|
|
34
|
+
- **Findings:** one line each: the severity, the file and line where there is one, the ID it is about, what is missing, and what would meet it.
|
|
35
|
+
- **Proposed additions:** each behavior the spec is silent on, with why a user would expect it.
|
|
36
|
+
|
|
37
|
+
Write "none" under a heading with nothing in it.
|
|
@@ -3,7 +3,8 @@ rem Starts a BuildKeel component after checking for Node.js 20 or later
|
|
|
3
3
|
rem (the version itself is checked by bk-start.cjs).
|
|
4
4
|
rem Usage: bk-launch <server|hook> [args...]
|
|
5
5
|
rem BK_LAUNCH_DIST overrides the directory holding the built components.
|
|
6
|
-
|
|
6
|
+
rem No delayed expansion: it would take ! out of the arguments.
|
|
7
|
+
setlocal DisableDelayedExpansion
|
|
7
8
|
|
|
8
9
|
set "REQUIRED_MAJOR=20"
|
|
9
10
|
|
|
@@ -14,25 +15,19 @@ echo usage: bk-launch ^<server^|hook^> [args...] 1>&2
|
|
|
14
15
|
exit /b 64
|
|
15
16
|
|
|
16
17
|
:target_ok
|
|
17
|
-
rem
|
|
18
|
+
rem The launcher's own folder, ending in a backslash.
|
|
18
19
|
set "HERE=%~dp0"
|
|
19
20
|
if defined BK_LAUNCH_DIST (set "DIST=%BK_LAUNCH_DIST%") else (set "DIST=%HERE%..\dist")
|
|
20
21
|
|
|
21
|
-
set "ARGS="
|
|
22
|
-
:collect
|
|
23
|
-
shift
|
|
24
|
-
if "%~1"=="" goto :check
|
|
25
|
-
set ARGS=!ARGS! "%~1"
|
|
26
|
-
goto :collect
|
|
27
|
-
|
|
28
|
-
:check
|
|
29
22
|
where node >nul 2>nul
|
|
30
23
|
if errorlevel 1 (
|
|
31
24
|
set "REASON=Node.js was not found on your PATH."
|
|
32
25
|
goto :fail
|
|
33
26
|
)
|
|
34
27
|
rem bk-start.cjs checks the version and runs the component in one Node process.
|
|
35
|
-
|
|
28
|
+
rem The arguments go through as given; BK_START_SHIFT has it drop the first, server or hook.
|
|
29
|
+
set "BK_START_SHIFT=1"
|
|
30
|
+
node "%HERE%bk-start.cjs" "%DIST%\%ENTRY%" %*
|
|
36
31
|
exit /b %ERRORLEVEL%
|
|
37
32
|
|
|
38
33
|
:fail
|
|
@@ -17,8 +17,11 @@ if (!(major >= REQUIRED_MAJOR)) {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
var entry = process.argv[2];
|
|
20
|
+
// bk-launch.cmd passes its arguments as given, with server or hook first, and sets BK_START_SHIFT to have it dropped.
|
|
21
|
+
var shift = process.env.BK_START_SHIFT === "1" ? 1 : 0;
|
|
22
|
+
delete process.env.BK_START_SHIFT;
|
|
20
23
|
// The component reads its own arguments from process.argv.slice(2), as if Node had started it directly.
|
|
21
|
-
process.argv.splice(1, 2, entry);
|
|
24
|
+
process.argv.splice(1, 2 + shift, entry);
|
|
22
25
|
import(require("node:url").pathToFileURL(entry).href).catch(function (error) {
|
|
23
26
|
process.stderr.write("BuildKeel could not start " + entry + ": " + (error && error.message ? error.message : String(error)) + "\n");
|
|
24
27
|
process.exit(1);
|