@girardmedia/bootspring 2.1.3 → 2.2.1

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 (65) hide show
  1. package/bin/bootspring.js +157 -83
  2. package/claude-commands/agent.md +34 -0
  3. package/claude-commands/bs.md +31 -0
  4. package/claude-commands/build.md +25 -0
  5. package/claude-commands/skill.md +31 -0
  6. package/claude-commands/todo.md +25 -0
  7. package/dist/core/index.d.ts +5814 -0
  8. package/dist/core.js +5779 -0
  9. package/dist/index.js +93883 -0
  10. package/dist/mcp/index.d.ts +1 -0
  11. package/dist/mcp-server.js +2298 -0
  12. package/generators/api-docs.js +3 -3
  13. package/generators/decisions.js +14 -14
  14. package/generators/health.js +6 -6
  15. package/generators/sprint.js +4 -4
  16. package/generators/templates/build-planning.template.js +2 -2
  17. package/generators/visual-doc-generator.js +1 -1
  18. package/package.json +22 -68
  19. package/cli/agent.js +0 -799
  20. package/cli/auth.js +0 -896
  21. package/cli/billing.js +0 -320
  22. package/cli/build.js +0 -1442
  23. package/cli/dashboard.js +0 -123
  24. package/cli/init.js +0 -669
  25. package/cli/mcp.js +0 -240
  26. package/cli/orchestrator.js +0 -240
  27. package/cli/project.js +0 -825
  28. package/cli/quality.js +0 -281
  29. package/cli/skill.js +0 -503
  30. package/cli/switch.js +0 -453
  31. package/cli/todo.js +0 -629
  32. package/cli/update.js +0 -132
  33. package/core/api-client.d.ts +0 -69
  34. package/core/api-client.js +0 -1482
  35. package/core/auth.d.ts +0 -98
  36. package/core/auth.js +0 -737
  37. package/core/build-orchestrator.js +0 -508
  38. package/core/build-state.js +0 -612
  39. package/core/config.d.ts +0 -106
  40. package/core/config.js +0 -1328
  41. package/core/context-loader.js +0 -580
  42. package/core/context.d.ts +0 -61
  43. package/core/context.js +0 -327
  44. package/core/entitlements.d.ts +0 -70
  45. package/core/entitlements.js +0 -322
  46. package/core/index.d.ts +0 -53
  47. package/core/index.js +0 -62
  48. package/core/mcp-config.js +0 -115
  49. package/core/policies.d.ts +0 -43
  50. package/core/policies.js +0 -113
  51. package/core/policy-matrix.js +0 -303
  52. package/core/project-activity.js +0 -175
  53. package/core/redaction.d.ts +0 -5
  54. package/core/redaction.js +0 -63
  55. package/core/self-update.js +0 -259
  56. package/core/session.js +0 -353
  57. package/core/task-extractor.js +0 -1098
  58. package/core/telemetry.d.ts +0 -55
  59. package/core/telemetry.js +0 -617
  60. package/core/tier-enforcement.js +0 -928
  61. package/core/utils.d.ts +0 -90
  62. package/core/utils.js +0 -455
  63. package/core/validation.js +0 -572
  64. package/mcp/server.d.ts +0 -57
  65. package/mcp/server.js +0 -264
package/cli/update.js DELETED
@@ -1,132 +0,0 @@
1
- /**
2
- * Bootspring Update Command
3
- * Check for updates and manage versions.
4
- */
5
-
6
- const utils = require('../core/utils');
7
- const selfUpdate = require('../core/self-update');
8
-
9
- function printCheckResult(result) {
10
- if (!result.latest) {
11
- console.log(`${utils.COLORS.dim}Current version: ${result.current}${utils.COLORS.reset}`);
12
- console.log(`${utils.COLORS.dim}Could not fetch the latest npm version.${utils.COLORS.reset}`);
13
- return;
14
- }
15
-
16
- if (result.updateAvailable) {
17
- console.log(`${utils.COLORS.green}Update available:${utils.COLORS.reset} ${result.current} -> ${result.latest}`);
18
- console.log(`${utils.COLORS.dim}Run: bootspring update apply${utils.COLORS.reset}`);
19
- return;
20
- }
21
-
22
- if (selfUpdate.compareVersions(result.current, result.latest) === 0) {
23
- console.log(`${utils.COLORS.green}Already on the latest version:${utils.COLORS.reset} ${result.current}`);
24
- return;
25
- }
26
-
27
- console.log(`${utils.COLORS.dim}Running a development version (${result.current}). npm latest is ${result.latest}.${utils.COLORS.reset}`);
28
- }
29
-
30
- async function checkForUpdates() {
31
- console.log(`\n${utils.COLORS.cyan}${utils.COLORS.bold}⚡ Bootspring Update Check${utils.COLORS.reset}\n`);
32
- const spinner = utils.createSpinner('Checking npm for the latest release').start();
33
- const result = selfUpdate.checkForUpdates();
34
-
35
- if (!result.latest) {
36
- spinner.warn('Could not fetch the latest version');
37
- } else if (result.updateAvailable) {
38
- spinner.succeed(`Update available: ${result.current} -> ${result.latest}`);
39
- } else {
40
- spinner.succeed(`Current version: ${result.current}`);
41
- }
42
-
43
- printCheckResult(result);
44
- }
45
-
46
- async function applyUpdate() {
47
- console.log(`\n${utils.COLORS.cyan}${utils.COLORS.bold}⚡ Bootspring Update${utils.COLORS.reset}\n`);
48
-
49
- const result = selfUpdate.checkForUpdates();
50
- if (!result.updateAvailable || !result.latest) {
51
- printCheckResult(result);
52
- return;
53
- }
54
-
55
- const context = selfUpdate.getInstallContext();
56
- const target = context.mode === 'local'
57
- ? context.projectRoot || process.cwd()
58
- : 'global install';
59
- const spinner = utils.createSpinner(`Updating ${target}`).start();
60
-
61
- try {
62
- selfUpdate.applyUpdate(context);
63
- spinner.succeed(`Updated to ${result.latest}`);
64
- console.log(`${utils.COLORS.dim}Restart any running MCP clients so they pick up the new binary.${utils.COLORS.reset}`);
65
- } catch (error) {
66
- spinner.fail('Update failed');
67
- console.log(`${utils.COLORS.red}${error.message}${utils.COLORS.reset}`);
68
- }
69
- }
70
-
71
- function showVersion() {
72
- const result = selfUpdate.checkForUpdates();
73
- const context = selfUpdate.getInstallContext();
74
-
75
- console.log(`
76
- ${utils.COLORS.cyan}${utils.COLORS.bold}⚡ Bootspring${utils.COLORS.reset}
77
-
78
- ${utils.COLORS.bold}Version${utils.COLORS.reset}
79
- Installed: ${utils.COLORS.cyan}${selfUpdate.CURRENT_VERSION}${utils.COLORS.reset}
80
- Latest: ${utils.COLORS.cyan}${result.latest || 'unknown'}${utils.COLORS.reset}
81
- Install: ${context.mode}
82
- `);
83
- }
84
-
85
- function showHelp() {
86
- console.log(`
87
- ${utils.COLORS.cyan}${utils.COLORS.bold}⚡ Bootspring Update${utils.COLORS.reset}
88
-
89
- ${utils.COLORS.bold}Usage:${utils.COLORS.reset}
90
- bootspring update check
91
- bootspring update apply
92
- bootspring update version
93
- `);
94
- }
95
-
96
- async function run(args) {
97
- const parsedArgs = utils.parseArgs(args);
98
- const subcommand = parsedArgs._[0] || 'check';
99
-
100
- switch (subcommand) {
101
- case 'check':
102
- await checkForUpdates();
103
- break;
104
- case 'apply':
105
- case 'upgrade':
106
- case 'install':
107
- await applyUpdate();
108
- break;
109
- case 'version':
110
- case '-v':
111
- case '--version':
112
- showVersion();
113
- break;
114
- case 'help':
115
- case '-h':
116
- case '--help':
117
- showHelp();
118
- break;
119
- default:
120
- utils.print.error(`Unknown subcommand: ${subcommand}`);
121
- showHelp();
122
- }
123
- }
124
-
125
- module.exports = {
126
- run,
127
- checkForUpdates,
128
- applyUpdate,
129
- getCurrentVersion: () => selfUpdate.CURRENT_VERSION,
130
- getLatestVersion: selfUpdate.getLatestVersion,
131
- compareVersions: selfUpdate.compareVersions
132
- };
@@ -1,69 +0,0 @@
1
- /**
2
- * Bootspring API Client Types
3
- * @module core/api-client
4
- */
5
-
6
- export interface RequestOptions {
7
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
8
- body?: unknown;
9
- headers?: Record<string, string>;
10
- cache?: boolean;
11
- cacheTTL?: number;
12
- }
13
-
14
- export interface ApiResponse<T = unknown> {
15
- data?: T;
16
- error?: string;
17
- status: number;
18
- }
19
-
20
- /** API base URL */
21
- export const API_BASE: string;
22
-
23
- /** API version */
24
- export const API_VERSION: string;
25
-
26
- /**
27
- * Make an API request
28
- * @param endpoint - API endpoint (without base URL)
29
- * @param options - Request options
30
- * @returns API response
31
- */
32
- export function request<T = unknown>(
33
- endpoint: string,
34
- options?: RequestOptions
35
- ): Promise<ApiResponse<T>>;
36
-
37
- /** Clear API response cache */
38
- export function clearCache(): void;
39
-
40
- /**
41
- * Check API health
42
- * @returns Health check result
43
- */
44
- export function healthCheck(): Promise<{ ok: boolean; latency?: number }>;
45
-
46
- /**
47
- * Decorator to require authentication for API calls
48
- * @param fn - Function to wrap
49
- * @returns Wrapped function that checks auth first
50
- */
51
- export function requireAuth<T extends (...args: unknown[]) => unknown>(fn: T): T;
52
-
53
- // API endpoints
54
- export namespace api {
55
- /** Get current user profile */
56
- function getProfile(): Promise<ApiResponse>;
57
-
58
- /** Get user entitlements */
59
- function getEntitlements(): Promise<ApiResponse>;
60
-
61
- /** Verify license key */
62
- function verifyLicense(key: string): Promise<ApiResponse>;
63
-
64
- /** Get available skills */
65
- function getSkills(): Promise<ApiResponse>;
66
-
67
- /** Get available workflows */
68
- function getWorkflows(): Promise<ApiResponse>;
69
- }