@girardmedia/bootspring 2.5.4 → 2.5.5
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/dist/cli/index.js +18 -15
- package/dist/core.js +1 -1
- package/dist/mcp-server.js +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -47820,7 +47820,7 @@ function registerBuildCommand(program3) {
|
|
|
47820
47820
|
const tasks = loadTasks();
|
|
47821
47821
|
if (tasks.length === 0) {
|
|
47822
47822
|
print.warning("No tasks found in planning/TODO.md (legacy fallback: planning/TASK_QUEUE.md)");
|
|
47823
|
-
print.info("Run `bootspring
|
|
47823
|
+
print.info("Run `bootspring seed init` or `bootspring prd create` first to generate tasks.");
|
|
47824
47824
|
return;
|
|
47825
47825
|
}
|
|
47826
47826
|
const newState = {
|
|
@@ -47914,7 +47914,7 @@ ${supplementaryContent}
|
|
|
47914
47914
|
console.log("");
|
|
47915
47915
|
if (!hasTodo && !hasQueue) {
|
|
47916
47916
|
print.warning("No task files found to recover from.");
|
|
47917
|
-
print.info("Run `bootspring
|
|
47917
|
+
print.info("Run `bootspring seed init` or `bootspring prd create` to generate tasks.");
|
|
47918
47918
|
return;
|
|
47919
47919
|
}
|
|
47920
47920
|
if (!hasState) {
|
|
@@ -50413,7 +50413,7 @@ function getContextStatus() {
|
|
|
50413
50413
|
if (!fs32.existsSync(dir)) {
|
|
50414
50414
|
const legacyDir = path34.join(process.cwd(), LEGACY_PRESEED_DIR);
|
|
50415
50415
|
if (fs32.existsSync(legacyDir)) {
|
|
50416
|
-
const files2 = fs32.readdirSync(legacyDir).filter((f) => f.endsWith(".md"));
|
|
50416
|
+
const files2 = fs32.readdirSync(legacyDir).filter((f) => f.endsWith(".md") && f !== "README.md");
|
|
50417
50417
|
return { docs: files2, total: files2.length };
|
|
50418
50418
|
}
|
|
50419
50419
|
return { docs: [], total: 0 };
|
|
@@ -53047,7 +53047,7 @@ init_src();
|
|
|
53047
53047
|
var PROJECT_TYPES = ["development", "content", "business"];
|
|
53048
53048
|
var CHECKPOINT_DEFS = {
|
|
53049
53049
|
development: [
|
|
53050
|
-
{ id: "preseed", label: "
|
|
53050
|
+
{ id: "preseed", label: "Context documents created", detectors: [".bootspring/context", ".bootspring/preseed"] },
|
|
53051
53051
|
{ id: "seed", label: "SEED.md generated", detectors: ["SEED.md"] },
|
|
53052
53052
|
{ id: "scaffold", label: "Project scaffolded", detectors: ["src", "package.json"] },
|
|
53053
53053
|
{ id: "build-plan", label: "Build plan created", detectors: ["planning/TODO.md", "planning/TASK_QUEUE.md"] },
|
|
@@ -53057,14 +53057,14 @@ var CHECKPOINT_DEFS = {
|
|
|
53057
53057
|
{ id: "launched", label: "Project launched", detectors: [] }
|
|
53058
53058
|
],
|
|
53059
53059
|
content: [
|
|
53060
|
-
{ id: "preseed", label: "
|
|
53060
|
+
{ id: "preseed", label: "Context documents created", detectors: [".bootspring/context", ".bootspring/preseed"] },
|
|
53061
53061
|
{ id: "seed", label: "SEED.md generated", detectors: ["SEED.md"] },
|
|
53062
53062
|
{ id: "content-plan", label: "Content plan created", detectors: ["planning"] },
|
|
53063
53063
|
{ id: "first-content", label: "First content piece", detectors: ["content"] },
|
|
53064
53064
|
{ id: "published", label: "Content published", detectors: [] }
|
|
53065
53065
|
],
|
|
53066
53066
|
business: [
|
|
53067
|
-
{ id: "preseed", label: "
|
|
53067
|
+
{ id: "preseed", label: "Context documents created", detectors: [".bootspring/context", ".bootspring/preseed"] },
|
|
53068
53068
|
{ id: "business-plan", label: "Business plan created", detectors: ["planning/BUSINESS_PLAN.md"] },
|
|
53069
53069
|
{ id: "model", label: "Business model canvas", detectors: ["planning/BUSINESS_MODEL_CANVAS.md"] },
|
|
53070
53070
|
{ id: "competitors", label: "Competitive analysis", detectors: ["planning/COMPETITIVE_ANALYSIS.md"] },
|
|
@@ -53140,7 +53140,7 @@ function registerCheckpointCommand(program3) {
|
|
|
53140
53140
|
print.dim("No checkpoint tracking found.");
|
|
53141
53141
|
console.log("\nGet started:");
|
|
53142
53142
|
console.log(" bootspring checkpoint init Initialize checkpoint tracking");
|
|
53143
|
-
console.log(" bootspring
|
|
53143
|
+
console.log(" bootspring seed init Start with document generation");
|
|
53144
53144
|
return;
|
|
53145
53145
|
}
|
|
53146
53146
|
const syncResult = syncCheckpoints(projectRoot, state);
|
|
@@ -60980,25 +60980,28 @@ var fs80 = __toESM(require("fs"));
|
|
|
60980
60980
|
var path81 = __toESM(require("path"));
|
|
60981
60981
|
init_src();
|
|
60982
60982
|
function findPreseedDocs(projectRoot) {
|
|
60983
|
-
|
|
60983
|
+
let dir = path81.join(projectRoot, ".bootspring", "context");
|
|
60984
|
+
if (!fs80.existsSync(dir)) {
|
|
60985
|
+
dir = path81.join(projectRoot, ".bootspring", "preseed");
|
|
60986
|
+
}
|
|
60984
60987
|
const expectedDocs = [
|
|
60985
60988
|
"VISION.md",
|
|
60986
60989
|
"PRD.md",
|
|
60987
60990
|
"TECHNICAL_SPEC.md",
|
|
60988
60991
|
"AUDIENCE.md",
|
|
60989
|
-
"
|
|
60992
|
+
"MARKET.md",
|
|
60990
60993
|
"ROADMAP.md"
|
|
60991
60994
|
];
|
|
60992
60995
|
const found = [];
|
|
60993
60996
|
const missing = [];
|
|
60994
60997
|
for (const doc of expectedDocs) {
|
|
60995
|
-
if (fs80.existsSync(path81.join(
|
|
60998
|
+
if (fs80.existsSync(path81.join(dir, doc))) {
|
|
60996
60999
|
found.push(doc);
|
|
60997
61000
|
} else {
|
|
60998
61001
|
missing.push(doc);
|
|
60999
61002
|
}
|
|
61000
61003
|
}
|
|
61001
|
-
return { found, missing };
|
|
61004
|
+
return { found, missing, dir };
|
|
61002
61005
|
}
|
|
61003
61006
|
function validateDocCoherence(projectRoot) {
|
|
61004
61007
|
const { found, missing } = findPreseedDocs(projectRoot);
|
|
@@ -61021,11 +61024,11 @@ function validateDocCoherence(projectRoot) {
|
|
|
61021
61024
|
});
|
|
61022
61025
|
score = Math.max(score - 10, 0);
|
|
61023
61026
|
}
|
|
61024
|
-
const
|
|
61027
|
+
const { dir: docsDir } = findPreseedDocs(projectRoot);
|
|
61025
61028
|
const docContents = {};
|
|
61026
61029
|
for (const doc of found) {
|
|
61027
61030
|
try {
|
|
61028
|
-
docContents[doc] = fs80.readFileSync(path81.join(
|
|
61031
|
+
docContents[doc] = fs80.readFileSync(path81.join(docsDir, doc), "utf-8");
|
|
61029
61032
|
} catch {
|
|
61030
61033
|
}
|
|
61031
61034
|
}
|
|
@@ -61156,10 +61159,10 @@ function registerValidateCommand(program3) {
|
|
|
61156
61159
|
print.success("Documents are well-aligned");
|
|
61157
61160
|
} else if (results.coherenceScore >= 60) {
|
|
61158
61161
|
print.warning("Documents need some attention");
|
|
61159
|
-
print.info('Run "bootspring
|
|
61162
|
+
print.info('Run "bootspring seed generate --force" to update');
|
|
61160
61163
|
} else {
|
|
61161
61164
|
print.error("Documents have significant alignment issues");
|
|
61162
|
-
print.info('Consider regenerating with "bootspring
|
|
61165
|
+
print.info('Consider regenerating with "bootspring seed from-codebase"');
|
|
61163
61166
|
}
|
|
61164
61167
|
if (opts.json) {
|
|
61165
61168
|
console.log("");
|
package/dist/core.js
CHANGED
|
@@ -21359,7 +21359,7 @@ var require_package = __commonJS({
|
|
|
21359
21359
|
"../../../package.json"(exports2, module2) {
|
|
21360
21360
|
module2.exports = {
|
|
21361
21361
|
name: "bootspring-workspace",
|
|
21362
|
-
version: "2.5.
|
|
21362
|
+
version: "2.5.4",
|
|
21363
21363
|
private: true,
|
|
21364
21364
|
description: "Workspace tooling for the Bootspring monorepo",
|
|
21365
21365
|
keywords: [
|
package/dist/mcp-server.js
CHANGED
|
@@ -51934,7 +51934,7 @@ var require_package = __commonJS({
|
|
|
51934
51934
|
"../../../package.json"(exports2, module2) {
|
|
51935
51935
|
module2.exports = {
|
|
51936
51936
|
name: "bootspring-workspace",
|
|
51937
|
-
version: "2.5.
|
|
51937
|
+
version: "2.5.4",
|
|
51938
51938
|
private: true,
|
|
51939
51939
|
description: "Workspace tooling for the Bootspring monorepo",
|
|
51940
51940
|
keywords: [
|