@girardmedia/bootspring 2.5.0 → 2.5.2
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 +9 -403
- package/bin/bootspring.js +1 -96
- package/dist/cli/index.js +65134 -0
- package/dist/cli-launcher.js +92 -0
- package/dist/core/index.d.ts +2110 -5582
- package/dist/core/index.js +2 -0
- package/dist/core.js +21123 -5413
- package/dist/mcp/index.d.ts +357 -1
- package/dist/mcp/index.js +2 -0
- package/dist/mcp-server.js +51948 -1976
- package/package.json +27 -63
- package/scripts/postinstall.cjs +144 -0
- package/LICENSE +0 -29
- package/dist/cli/index.cjs +0 -20776
- package/generators/api-docs.js +0 -827
- package/generators/decisions.js +0 -655
- package/generators/generate.js +0 -595
- package/generators/health.js +0 -942
- package/generators/index.ts +0 -82
- package/generators/presets/full.js +0 -28
- package/generators/presets/index.js +0 -12
- package/generators/presets/minimal.js +0 -29
- package/generators/presets/standard.js +0 -28
- package/generators/questionnaire.js +0 -414
- package/generators/sections/advanced.js +0 -136
- package/generators/sections/ai.js +0 -106
- package/generators/sections/auth.js +0 -89
- package/generators/sections/backend.js +0 -146
- package/generators/sections/business.js +0 -118
- package/generators/sections/content.js +0 -300
- package/generators/sections/deployment.js +0 -139
- package/generators/sections/features.js +0 -122
- package/generators/sections/frontend.js +0 -118
- package/generators/sections/identity.js +0 -76
- package/generators/sections/index.js +0 -40
- package/generators/sections/instructions.js +0 -146
- package/generators/sections/payments.js +0 -104
- package/generators/sections/plugins.js +0 -142
- package/generators/sections/pre-build.js +0 -130
- package/generators/sections/security.js +0 -127
- package/generators/sections/technical.js +0 -171
- package/generators/sections/testing.js +0 -125
- package/generators/sections/workflow.js +0 -104
- package/generators/sprint.js +0 -675
- package/generators/templates/agents.template.js +0 -199
- package/generators/templates/assistant-context.template.js +0 -83
- package/generators/templates/build-planning.template.js +0 -708
- package/generators/templates/claude.template.js +0 -379
- package/generators/templates/content.template.js +0 -819
- package/generators/templates/index.js +0 -16
- package/generators/templates/planning.template.js +0 -515
- package/generators/templates/seed.template.js +0 -109
- package/generators/visual-doc-generator.js +0 -910
- package/scripts/postinstall.js +0 -197
- /package/{claude-commands → assets/claude-commands}/agent.md +0 -0
- /package/{claude-commands → assets/claude-commands}/bs.md +0 -0
- /package/{claude-commands → assets/claude-commands}/build.md +0 -0
- /package/{claude-commands → assets/claude-commands}/skill.md +0 -0
- /package/{claude-commands → assets/claude-commands}/todo.md +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// publish-shell/bootspring.ts
|
|
4
|
+
var path = require("path");
|
|
5
|
+
var fs = require("fs");
|
|
6
|
+
var { spawn } = require("child_process");
|
|
7
|
+
function resolveExistingPath(relativeCandidates) {
|
|
8
|
+
for (const relativePath of relativeCandidates) {
|
|
9
|
+
const absolutePath = path.resolve(__dirname, relativePath);
|
|
10
|
+
if (fs.existsSync(absolutePath)) {
|
|
11
|
+
return absolutePath;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return path.resolve(__dirname, relativeCandidates[0]);
|
|
15
|
+
}
|
|
16
|
+
var packageJsonPath = resolveExistingPath(["../package.json"]);
|
|
17
|
+
var VERSION = require(packageJsonPath).version;
|
|
18
|
+
var CLI_DIST = resolveExistingPath(["cli/index.js"]);
|
|
19
|
+
var CORE_DIST = resolveExistingPath(["core.js", "core/index.js"]);
|
|
20
|
+
var C = {
|
|
21
|
+
reset: "\x1B[0m",
|
|
22
|
+
bold: "\x1B[1m",
|
|
23
|
+
dim: "\x1B[2m",
|
|
24
|
+
cyan: "\x1B[36m",
|
|
25
|
+
green: "\x1B[32m",
|
|
26
|
+
yellow: "\x1B[33m",
|
|
27
|
+
red: "\x1B[31m"
|
|
28
|
+
};
|
|
29
|
+
var HELP_GROUPS = {
|
|
30
|
+
"Core": ["auth", "init", "project", "switch", "health", "mcp", "dashboard", "context"],
|
|
31
|
+
"Build & Deploy": ["build", "deploy", "loop", "quality", "security", "doctor", "update"],
|
|
32
|
+
"Planning": ["plan", "prd", "preseed", "preseed-start", "preseed-from-codebase", "seed", "manager"],
|
|
33
|
+
"Agents & Skills": ["agent", "skill", "todo", "billing", "plugin"],
|
|
34
|
+
"Analysis": ["analyze", "audit", "monitor", "metrics", "validate", "visualize"],
|
|
35
|
+
"Docs & Content": ["generate", "content", "docs"],
|
|
36
|
+
"Intelligence": ["learn", "memory", "suggest", "orchestrator", "watch"],
|
|
37
|
+
"Business": ["business", "fundraise", "legal", "org"],
|
|
38
|
+
"Infrastructure": ["workspace", "cloud-sync", "github", "onboard", "checkpoint", "setup"],
|
|
39
|
+
"Tools": ["log", "mvp", "task", "telemetry"]
|
|
40
|
+
};
|
|
41
|
+
function showHelp() {
|
|
42
|
+
console.log(`${C.cyan}${C.bold}\u26A1 Bootspring${C.reset} ${C.dim}v${VERSION}${C.reset}`);
|
|
43
|
+
console.log(`${C.dim}Development scaffolding with intelligence${C.reset}
|
|
44
|
+
`);
|
|
45
|
+
console.log(`${C.bold}Usage:${C.reset} bootspring <command> [options]
|
|
46
|
+
`);
|
|
47
|
+
for (const [group, cmds] of Object.entries(HELP_GROUPS)) {
|
|
48
|
+
console.log(`${C.bold}${group}:${C.reset} ${cmds.map((command) => `${C.green}${command}${C.reset}`).join(", ")}`);
|
|
49
|
+
}
|
|
50
|
+
console.log(`
|
|
51
|
+
${C.dim}Run "bootspring <command> --help" for command details${C.reset}`);
|
|
52
|
+
console.log(`${C.dim}Docs: https://bootspring.com/docs${C.reset}
|
|
53
|
+
`);
|
|
54
|
+
}
|
|
55
|
+
function runCli(args) {
|
|
56
|
+
if (!fs.existsSync(CLI_DIST)) {
|
|
57
|
+
console.error(`${C.red}Error: CLI build not found at ${CLI_DIST}${C.reset}`);
|
|
58
|
+
console.error(`${C.dim}Please run 'npm run build' first.${C.reset}`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
const child = spawn("node", [CLI_DIST, ...args], {
|
|
62
|
+
stdio: "inherit",
|
|
63
|
+
env: { ...process.env, BOOTSPRING_BRIDGE: "true" }
|
|
64
|
+
});
|
|
65
|
+
child.on("exit", (code) => {
|
|
66
|
+
process.exit(code || 0);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async function main() {
|
|
70
|
+
const args = process.argv.slice(2);
|
|
71
|
+
const command = args[0];
|
|
72
|
+
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
73
|
+
showHelp();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (command === "--version" || command === "-v") {
|
|
77
|
+
console.log(`Bootspring v${VERSION}`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const { selfUpdate } = require(CORE_DIST);
|
|
82
|
+
selfUpdate.ensureLatestVersion(args);
|
|
83
|
+
} catch {
|
|
84
|
+
}
|
|
85
|
+
runCli(args);
|
|
86
|
+
}
|
|
87
|
+
main().catch((error) => {
|
|
88
|
+
console.error(`
|
|
89
|
+
${C.red}Error: ${error.message}${C.reset}
|
|
90
|
+
`);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
});
|