@kynetic-ai/spec 0.1.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 +263 -0
- package/dist/acp/client.d.ts +159 -0
- package/dist/acp/client.d.ts.map +1 -0
- package/dist/acp/client.js +255 -0
- package/dist/acp/client.js.map +1 -0
- package/dist/acp/framing.d.ts +119 -0
- package/dist/acp/framing.d.ts.map +1 -0
- package/dist/acp/framing.js +302 -0
- package/dist/acp/framing.js.map +1 -0
- package/dist/acp/index.d.ts +14 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +13 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/types.d.ts +89 -0
- package/dist/acp/types.d.ts.map +1 -0
- package/dist/acp/types.js +99 -0
- package/dist/acp/types.js.map +1 -0
- package/dist/agents/adapters.d.ts +55 -0
- package/dist/agents/adapters.d.ts.map +1 -0
- package/dist/agents/adapters.js +84 -0
- package/dist/agents/adapters.js.map +1 -0
- package/dist/agents/index.d.ts +8 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +10 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/spawner.d.ts +53 -0
- package/dist/agents/spawner.d.ts.map +1 -0
- package/dist/agents/spawner.js +83 -0
- package/dist/agents/spawner.js.map +1 -0
- package/dist/cli/batch.d.ts +82 -0
- package/dist/cli/batch.d.ts.map +1 -0
- package/dist/cli/batch.js +162 -0
- package/dist/cli/batch.js.map +1 -0
- package/dist/cli/commands/clone-for-testing.d.ts +6 -0
- package/dist/cli/commands/clone-for-testing.d.ts.map +1 -0
- package/dist/cli/commands/clone-for-testing.js +176 -0
- package/dist/cli/commands/clone-for-testing.js.map +1 -0
- package/dist/cli/commands/derive.d.ts +6 -0
- package/dist/cli/commands/derive.d.ts.map +1 -0
- package/dist/cli/commands/derive.js +450 -0
- package/dist/cli/commands/derive.js.map +1 -0
- package/dist/cli/commands/help.d.ts +6 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +196 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/inbox.d.ts +6 -0
- package/dist/cli/commands/inbox.d.ts.map +1 -0
- package/dist/cli/commands/inbox.js +235 -0
- package/dist/cli/commands/inbox.js.map +1 -0
- package/dist/cli/commands/index.d.ts +20 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +21 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +245 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/item.d.ts +6 -0
- package/dist/cli/commands/item.d.ts.map +1 -0
- package/dist/cli/commands/item.js +1311 -0
- package/dist/cli/commands/item.js.map +1 -0
- package/dist/cli/commands/link.d.ts +6 -0
- package/dist/cli/commands/link.d.ts.map +1 -0
- package/dist/cli/commands/link.js +288 -0
- package/dist/cli/commands/link.js.map +1 -0
- package/dist/cli/commands/log.d.ts +16 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +291 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/meta.d.ts +15 -0
- package/dist/cli/commands/meta.d.ts.map +1 -0
- package/dist/cli/commands/meta.js +1378 -0
- package/dist/cli/commands/meta.js.map +1 -0
- package/dist/cli/commands/module.d.ts +6 -0
- package/dist/cli/commands/module.d.ts.map +1 -0
- package/dist/cli/commands/module.js +102 -0
- package/dist/cli/commands/module.js.map +1 -0
- package/dist/cli/commands/ralph.d.ts +9 -0
- package/dist/cli/commands/ralph.d.ts.map +1 -0
- package/dist/cli/commands/ralph.js +465 -0
- package/dist/cli/commands/ralph.js.map +1 -0
- package/dist/cli/commands/search.d.ts +6 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +134 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/session.d.ts +164 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +745 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +26 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +586 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/shadow.d.ts +6 -0
- package/dist/cli/commands/shadow.d.ts.map +1 -0
- package/dist/cli/commands/shadow.js +299 -0
- package/dist/cli/commands/shadow.js.map +1 -0
- package/dist/cli/commands/task.d.ts +6 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +1514 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/tasks.d.ts +6 -0
- package/dist/cli/commands/tasks.d.ts.map +1 -0
- package/dist/cli/commands/tasks.js +347 -0
- package/dist/cli/commands/tasks.js.map +1 -0
- package/dist/cli/commands/trait.d.ts +10 -0
- package/dist/cli/commands/trait.d.ts.map +1 -0
- package/dist/cli/commands/trait.js +295 -0
- package/dist/cli/commands/trait.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +6 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +626 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/exit-codes.d.ts +62 -0
- package/dist/cli/exit-codes.d.ts.map +1 -0
- package/dist/cli/exit-codes.js +65 -0
- package/dist/cli/exit-codes.js.map +1 -0
- package/dist/cli/help/content.d.ts +35 -0
- package/dist/cli/help/content.d.ts.map +1 -0
- package/dist/cli/help/content.js +312 -0
- package/dist/cli/help/content.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +85 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/introspection.d.ts +87 -0
- package/dist/cli/introspection.d.ts.map +1 -0
- package/dist/cli/introspection.js +127 -0
- package/dist/cli/introspection.js.map +1 -0
- package/dist/cli/output.d.ts +56 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +467 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/suggest.d.ts +16 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +72 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/alignment.d.ts +113 -0
- package/dist/parser/alignment.d.ts.map +1 -0
- package/dist/parser/alignment.js +261 -0
- package/dist/parser/alignment.js.map +1 -0
- package/dist/parser/assess.d.ts +81 -0
- package/dist/parser/assess.d.ts.map +1 -0
- package/dist/parser/assess.js +197 -0
- package/dist/parser/assess.js.map +1 -0
- package/dist/parser/convention-validation.d.ts +48 -0
- package/dist/parser/convention-validation.d.ts.map +1 -0
- package/dist/parser/convention-validation.js +167 -0
- package/dist/parser/convention-validation.js.map +1 -0
- package/dist/parser/fix.d.ts +38 -0
- package/dist/parser/fix.d.ts.map +1 -0
- package/dist/parser/fix.js +185 -0
- package/dist/parser/fix.js.map +1 -0
- package/dist/parser/index.d.ts +12 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +13 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/items.d.ts +138 -0
- package/dist/parser/items.d.ts.map +1 -0
- package/dist/parser/items.js +321 -0
- package/dist/parser/items.js.map +1 -0
- package/dist/parser/meta.d.ts +120 -0
- package/dist/parser/meta.d.ts.map +1 -0
- package/dist/parser/meta.js +441 -0
- package/dist/parser/meta.js.map +1 -0
- package/dist/parser/refs.d.ts +185 -0
- package/dist/parser/refs.d.ts.map +1 -0
- package/dist/parser/refs.js +404 -0
- package/dist/parser/refs.js.map +1 -0
- package/dist/parser/shadow.d.ts +253 -0
- package/dist/parser/shadow.d.ts.map +1 -0
- package/dist/parser/shadow.js +1053 -0
- package/dist/parser/shadow.js.map +1 -0
- package/dist/parser/traits.d.ts +72 -0
- package/dist/parser/traits.d.ts.map +1 -0
- package/dist/parser/traits.js +120 -0
- package/dist/parser/traits.js.map +1 -0
- package/dist/parser/validate.d.ts +89 -0
- package/dist/parser/validate.d.ts.map +1 -0
- package/dist/parser/validate.js +817 -0
- package/dist/parser/validate.js.map +1 -0
- package/dist/parser/yaml.d.ts +326 -0
- package/dist/parser/yaml.d.ts.map +1 -0
- package/dist/parser/yaml.js +1383 -0
- package/dist/parser/yaml.js.map +1 -0
- package/dist/ralph/cli-renderer.d.ts +20 -0
- package/dist/ralph/cli-renderer.d.ts.map +1 -0
- package/dist/ralph/cli-renderer.js +179 -0
- package/dist/ralph/cli-renderer.js.map +1 -0
- package/dist/ralph/events.d.ts +65 -0
- package/dist/ralph/events.d.ts.map +1 -0
- package/dist/ralph/events.js +397 -0
- package/dist/ralph/events.js.map +1 -0
- package/dist/ralph/index.d.ts +8 -0
- package/dist/ralph/index.d.ts.map +1 -0
- package/dist/ralph/index.js +10 -0
- package/dist/ralph/index.js.map +1 -0
- package/dist/schema/common.d.ts +46 -0
- package/dist/schema/common.d.ts.map +1 -0
- package/dist/schema/common.js +71 -0
- package/dist/schema/common.js.map +1 -0
- package/dist/schema/inbox.d.ts +90 -0
- package/dist/schema/inbox.d.ts.map +1 -0
- package/dist/schema/inbox.js +30 -0
- package/dist/schema/inbox.js.map +1 -0
- package/dist/schema/index.d.ts +6 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +7 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/meta.d.ts +762 -0
- package/dist/schema/meta.d.ts.map +1 -0
- package/dist/schema/meta.js +144 -0
- package/dist/schema/meta.js.map +1 -0
- package/dist/schema/spec.d.ts +912 -0
- package/dist/schema/spec.d.ts.map +1 -0
- package/dist/schema/spec.js +104 -0
- package/dist/schema/spec.js.map +1 -0
- package/dist/schema/task.d.ts +664 -0
- package/dist/schema/task.d.ts.map +1 -0
- package/dist/schema/task.js +130 -0
- package/dist/schema/task.js.map +1 -0
- package/dist/sessions/index.d.ts +11 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +13 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/store.d.ts +144 -0
- package/dist/sessions/store.d.ts.map +1 -0
- package/dist/sessions/store.js +325 -0
- package/dist/sessions/store.js.map +1 -0
- package/dist/sessions/types.d.ts +157 -0
- package/dist/sessions/types.d.ts.map +1 -0
- package/dist/sessions/types.js +90 -0
- package/dist/sessions/types.js.map +1 -0
- package/dist/strings/errors.d.ts +420 -0
- package/dist/strings/errors.d.ts.map +1 -0
- package/dist/strings/errors.js +282 -0
- package/dist/strings/errors.js.map +1 -0
- package/dist/strings/guidance.d.ts +65 -0
- package/dist/strings/guidance.d.ts.map +1 -0
- package/dist/strings/guidance.js +66 -0
- package/dist/strings/guidance.js.map +1 -0
- package/dist/strings/index.d.ts +12 -0
- package/dist/strings/index.d.ts.map +1 -0
- package/dist/strings/index.js +12 -0
- package/dist/strings/index.js.map +1 -0
- package/dist/strings/labels.d.ts +74 -0
- package/dist/strings/labels.d.ts.map +1 -0
- package/dist/strings/labels.js +75 -0
- package/dist/strings/labels.js.map +1 -0
- package/dist/strings/validation.d.ts +126 -0
- package/dist/strings/validation.d.ts.map +1 -0
- package/dist/strings/validation.js +135 -0
- package/dist/strings/validation.js.map +1 -0
- package/dist/utils/commit.d.ts +23 -0
- package/dist/utils/commit.d.ts.map +1 -0
- package/dist/utils/commit.js +67 -0
- package/dist/utils/commit.js.map +1 -0
- package/dist/utils/git.d.ts +57 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +192 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/grep.d.ts +28 -0
- package/dist/utils/grep.d.ts.map +1 -0
- package/dist/utils/grep.js +86 -0
- package/dist/utils/grep.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/time.d.ts +18 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +61 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic exit codes for kspec CLI
|
|
3
|
+
*
|
|
4
|
+
* AC: @cli-exit-codes exit-code-constants
|
|
5
|
+
* Centralized constants for all CLI exit codes
|
|
6
|
+
*
|
|
7
|
+
* @see Use these constants instead of magic numbers throughout the CLI
|
|
8
|
+
*/
|
|
9
|
+
export declare const EXIT_CODES: {
|
|
10
|
+
/** Command completed successfully */
|
|
11
|
+
readonly SUCCESS: 0;
|
|
12
|
+
/** General error (catch-all for unexpected errors) */
|
|
13
|
+
readonly ERROR: 1;
|
|
14
|
+
/** Usage error (invalid arguments, flags, or command syntax) */
|
|
15
|
+
readonly USAGE_ERROR: 2;
|
|
16
|
+
/** Not found (task, spec item, inbox item, etc. doesn't exist) */
|
|
17
|
+
readonly NOT_FOUND: 3;
|
|
18
|
+
/** Validation failed (invalid state, schema violation, or business rule violation) */
|
|
19
|
+
readonly VALIDATION_FAILED: 4;
|
|
20
|
+
/** Conflict (resource already exists, duplicate slug, etc.) */
|
|
21
|
+
readonly CONFLICT: 5;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Type for exit codes
|
|
25
|
+
*/
|
|
26
|
+
export type ExitCode = (typeof EXIT_CODES)[keyof typeof EXIT_CODES];
|
|
27
|
+
/**
|
|
28
|
+
* Exit code metadata for documentation
|
|
29
|
+
* AC: @cli-exit-codes exit-codes-documented
|
|
30
|
+
*/
|
|
31
|
+
export declare const EXIT_CODE_METADATA: readonly [{
|
|
32
|
+
readonly code: 0;
|
|
33
|
+
readonly name: "SUCCESS";
|
|
34
|
+
readonly description: "Command completed successfully";
|
|
35
|
+
readonly commands: "All commands";
|
|
36
|
+
}, {
|
|
37
|
+
readonly code: 1;
|
|
38
|
+
readonly name: "ERROR";
|
|
39
|
+
readonly description: "General error (unexpected error, file system error, etc.)";
|
|
40
|
+
readonly commands: "All commands";
|
|
41
|
+
}, {
|
|
42
|
+
readonly code: 2;
|
|
43
|
+
readonly name: "USAGE_ERROR";
|
|
44
|
+
readonly description: "Usage error (invalid arguments, flags, or command syntax)";
|
|
45
|
+
readonly commands: "All commands";
|
|
46
|
+
}, {
|
|
47
|
+
readonly code: 3;
|
|
48
|
+
readonly name: "NOT_FOUND";
|
|
49
|
+
readonly description: "Resource not found (task, spec item, inbox item, etc.)";
|
|
50
|
+
readonly commands: "task, item, inbox, derive, link, meta, tasks";
|
|
51
|
+
}, {
|
|
52
|
+
readonly code: 4;
|
|
53
|
+
readonly name: "VALIDATION_FAILED";
|
|
54
|
+
readonly description: "Validation failed (invalid state, schema violation, business rule violation)";
|
|
55
|
+
readonly commands: "validate, task (state transitions), item (schema validation)";
|
|
56
|
+
}, {
|
|
57
|
+
readonly code: 5;
|
|
58
|
+
readonly name: "CONFLICT";
|
|
59
|
+
readonly description: "Conflict (resource already exists, duplicate slug, etc.)";
|
|
60
|
+
readonly commands: "item, task, module (when creating duplicates)";
|
|
61
|
+
}];
|
|
62
|
+
//# sourceMappingURL=exit-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../src/cli/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;IACrB,qCAAqC;;IAGrC,sDAAsD;;IAGtD,gEAAgE;;IAGhE,kEAAkE;;IAGlE,sFAAsF;;IAGtF,+DAA+D;;CAEvD,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCrB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic exit codes for kspec CLI
|
|
3
|
+
*
|
|
4
|
+
* AC: @cli-exit-codes exit-code-constants
|
|
5
|
+
* Centralized constants for all CLI exit codes
|
|
6
|
+
*
|
|
7
|
+
* @see Use these constants instead of magic numbers throughout the CLI
|
|
8
|
+
*/
|
|
9
|
+
export const EXIT_CODES = {
|
|
10
|
+
/** Command completed successfully */
|
|
11
|
+
SUCCESS: 0,
|
|
12
|
+
/** General error (catch-all for unexpected errors) */
|
|
13
|
+
ERROR: 1,
|
|
14
|
+
/** Usage error (invalid arguments, flags, or command syntax) */
|
|
15
|
+
USAGE_ERROR: 2,
|
|
16
|
+
/** Not found (task, spec item, inbox item, etc. doesn't exist) */
|
|
17
|
+
NOT_FOUND: 3,
|
|
18
|
+
/** Validation failed (invalid state, schema violation, or business rule violation) */
|
|
19
|
+
VALIDATION_FAILED: 4,
|
|
20
|
+
/** Conflict (resource already exists, duplicate slug, etc.) */
|
|
21
|
+
CONFLICT: 5,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Exit code metadata for documentation
|
|
25
|
+
* AC: @cli-exit-codes exit-codes-documented
|
|
26
|
+
*/
|
|
27
|
+
export const EXIT_CODE_METADATA = [
|
|
28
|
+
{
|
|
29
|
+
code: EXIT_CODES.SUCCESS,
|
|
30
|
+
name: 'SUCCESS',
|
|
31
|
+
description: 'Command completed successfully',
|
|
32
|
+
commands: 'All commands',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
code: EXIT_CODES.ERROR,
|
|
36
|
+
name: 'ERROR',
|
|
37
|
+
description: 'General error (unexpected error, file system error, etc.)',
|
|
38
|
+
commands: 'All commands',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
code: EXIT_CODES.USAGE_ERROR,
|
|
42
|
+
name: 'USAGE_ERROR',
|
|
43
|
+
description: 'Usage error (invalid arguments, flags, or command syntax)',
|
|
44
|
+
commands: 'All commands',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
code: EXIT_CODES.NOT_FOUND,
|
|
48
|
+
name: 'NOT_FOUND',
|
|
49
|
+
description: 'Resource not found (task, spec item, inbox item, etc.)',
|
|
50
|
+
commands: 'task, item, inbox, derive, link, meta, tasks',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
code: EXIT_CODES.VALIDATION_FAILED,
|
|
54
|
+
name: 'VALIDATION_FAILED',
|
|
55
|
+
description: 'Validation failed (invalid state, schema violation, business rule violation)',
|
|
56
|
+
commands: 'validate, task (state transitions), item (schema validation)',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
code: EXIT_CODES.CONFLICT,
|
|
60
|
+
name: 'CONFLICT',
|
|
61
|
+
description: 'Conflict (resource already exists, duplicate slug, etc.)',
|
|
62
|
+
commands: 'item, task, module (when creating duplicates)',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
//# sourceMappingURL=exit-codes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/cli/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,qCAAqC;IACrC,OAAO,EAAE,CAAC;IAEV,sDAAsD;IACtD,KAAK,EAAE,CAAC;IAER,gEAAgE;IAChE,WAAW,EAAE,CAAC;IAEd,kEAAkE;IAClE,SAAS,EAAE,CAAC;IAEZ,sFAAsF;IACtF,iBAAiB,EAAE,CAAC;IAEpB,+DAA+D;IAC/D,QAAQ,EAAE,CAAC;CACH,CAAC;AAOX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,cAAc;KACzB;IACD;QACE,IAAI,EAAE,UAAU,CAAC,KAAK;QACtB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,cAAc;KACzB;IACD;QACE,IAAI,EAAE,UAAU,CAAC,WAAW;QAC5B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,cAAc;KACzB;IACD;QACE,IAAI,EAAE,UAAU,CAAC,SAAS;QAC1B,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,8CAA8C;KACzD;IACD;QACE,IAAI,EAAE,UAAU,CAAC,iBAAiB;QAClC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,8DAA8D;KACzE;IACD;QACE,IAAI,EAAE,UAAU,CAAC,QAAQ;QACzB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,+CAA+C;KAC1D;CACO,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated help content for kspec commands and concepts
|
|
3
|
+
*
|
|
4
|
+
* This module contains conceptual documentation, examples, and cross-references
|
|
5
|
+
* that complement the auto-generated command syntax from Commander introspection.
|
|
6
|
+
*
|
|
7
|
+
* What goes here:
|
|
8
|
+
* - Conceptual explanations
|
|
9
|
+
* - Usage examples
|
|
10
|
+
* - Cross-references (seeAlso)
|
|
11
|
+
* - Workflow guidance
|
|
12
|
+
*
|
|
13
|
+
* What doesn't go here:
|
|
14
|
+
* - Command names (auto-generated)
|
|
15
|
+
* - Option lists (auto-generated)
|
|
16
|
+
* - Subcommand lists (auto-generated)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Curated help content for a command or concept
|
|
20
|
+
*/
|
|
21
|
+
export interface HelpContent {
|
|
22
|
+
/** Topic title (can be overridden, defaults to command description) */
|
|
23
|
+
title?: string;
|
|
24
|
+
/** Conceptual explanation (what, why, how) */
|
|
25
|
+
concept: string;
|
|
26
|
+
/** Usage examples */
|
|
27
|
+
examples?: string[];
|
|
28
|
+
/** Related topics */
|
|
29
|
+
seeAlso?: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* All curated help content keyed by command path or concept name
|
|
33
|
+
*/
|
|
34
|
+
export declare const helpContent: Record<string, HelpContent>;
|
|
35
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/cli/help/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA4SnD,CAAC"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated help content for kspec commands and concepts
|
|
3
|
+
*
|
|
4
|
+
* This module contains conceptual documentation, examples, and cross-references
|
|
5
|
+
* that complement the auto-generated command syntax from Commander introspection.
|
|
6
|
+
*
|
|
7
|
+
* What goes here:
|
|
8
|
+
* - Conceptual explanations
|
|
9
|
+
* - Usage examples
|
|
10
|
+
* - Cross-references (seeAlso)
|
|
11
|
+
* - Workflow guidance
|
|
12
|
+
*
|
|
13
|
+
* What doesn't go here:
|
|
14
|
+
* - Command names (auto-generated)
|
|
15
|
+
* - Option lists (auto-generated)
|
|
16
|
+
* - Subcommand lists (auto-generated)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* All curated help content keyed by command path or concept name
|
|
20
|
+
*/
|
|
21
|
+
export const helpContent = {
|
|
22
|
+
// Command-specific content
|
|
23
|
+
task: {
|
|
24
|
+
concept: `
|
|
25
|
+
Individual task operations for managing task lifecycle.
|
|
26
|
+
|
|
27
|
+
Task References:
|
|
28
|
+
Tasks can be referenced by slug (@task-slug) or ULID prefix (@01KEZ).
|
|
29
|
+
The @ prefix is optional in commands.
|
|
30
|
+
|
|
31
|
+
Notes vs Todos:
|
|
32
|
+
- Notes: Append-only work log entries for tracking progress and findings
|
|
33
|
+
- Todos: Lightweight checklist items that emerge during work
|
|
34
|
+
|
|
35
|
+
Blocking vs Dependencies:
|
|
36
|
+
- blocked_by: Manual blockers (strings like "waiting on design review")
|
|
37
|
+
- depends_on: Task references that auto-resolve when completed
|
|
38
|
+
|
|
39
|
+
Use 'task block' for manual blockers. Dependencies are set in YAML.
|
|
40
|
+
`,
|
|
41
|
+
examples: [
|
|
42
|
+
'kspec task get @task-cli-help',
|
|
43
|
+
'kspec task add --title "Fix login bug" --priority 1 --tag bug',
|
|
44
|
+
'kspec task start @my-task',
|
|
45
|
+
'kspec task note @my-task "Investigated root cause, found issue in auth module"',
|
|
46
|
+
'kspec task complete @my-task --reason "Fixed by updating token validation"',
|
|
47
|
+
'kspec task todo add @my-task "Review error handling"',
|
|
48
|
+
'kspec task todo done @my-task 1',
|
|
49
|
+
'kspec task todos @my-task',
|
|
50
|
+
],
|
|
51
|
+
seeAlso: ['tasks', 'refs', 'statuses'],
|
|
52
|
+
},
|
|
53
|
+
tasks: {
|
|
54
|
+
concept: `
|
|
55
|
+
Query and list tasks with various filters.
|
|
56
|
+
|
|
57
|
+
Output shows: ULID (short), slug, status, priority, and title.
|
|
58
|
+
`,
|
|
59
|
+
examples: [
|
|
60
|
+
'kspec tasks ready',
|
|
61
|
+
'kspec tasks ready --priority 1',
|
|
62
|
+
'kspec tasks active',
|
|
63
|
+
'kspec tasks all --tag mvp',
|
|
64
|
+
'kspec tasks completed --limit 5',
|
|
65
|
+
],
|
|
66
|
+
seeAlso: ['task', 'statuses'],
|
|
67
|
+
},
|
|
68
|
+
validate: {
|
|
69
|
+
concept: `
|
|
70
|
+
Validate spec files for schema conformance and reference integrity.
|
|
71
|
+
|
|
72
|
+
Default runs all checks. Exit code 1 if errors found.
|
|
73
|
+
|
|
74
|
+
What it checks:
|
|
75
|
+
- Schema: All items conform to Zod schemas
|
|
76
|
+
- References: All @refs resolve to existing items
|
|
77
|
+
- Orphans: Items not referenced by any task (warning)
|
|
78
|
+
|
|
79
|
+
Alias: 'kspec lint' does the same thing.
|
|
80
|
+
`,
|
|
81
|
+
examples: [
|
|
82
|
+
'kspec validate',
|
|
83
|
+
'kspec validate --refs',
|
|
84
|
+
'kspec validate --strict',
|
|
85
|
+
'kspec validate --json',
|
|
86
|
+
],
|
|
87
|
+
seeAlso: ['refs'],
|
|
88
|
+
},
|
|
89
|
+
session: {
|
|
90
|
+
concept: `
|
|
91
|
+
Get context for a work session - what's active, ready, and recent.
|
|
92
|
+
|
|
93
|
+
The session start command is designed for agents to quickly understand:
|
|
94
|
+
- What work is currently in progress
|
|
95
|
+
- What was recently completed
|
|
96
|
+
- What tasks are ready to pick up
|
|
97
|
+
- Recent git activity
|
|
98
|
+
- Uncommitted changes
|
|
99
|
+
|
|
100
|
+
Alias: 'kspec context' does the same thing.
|
|
101
|
+
`,
|
|
102
|
+
examples: [
|
|
103
|
+
'kspec session start',
|
|
104
|
+
'kspec session start --full',
|
|
105
|
+
'kspec session start --since 1d',
|
|
106
|
+
'kspec context',
|
|
107
|
+
],
|
|
108
|
+
seeAlso: ['tasks'],
|
|
109
|
+
},
|
|
110
|
+
init: {
|
|
111
|
+
concept: `
|
|
112
|
+
Initialize a new kspec project with scaffolding.
|
|
113
|
+
|
|
114
|
+
Creates:
|
|
115
|
+
- kynetic.yaml (manifest)
|
|
116
|
+
- kynetic.tasks.yaml (task file)
|
|
117
|
+
- spec/ directory with module files
|
|
118
|
+
|
|
119
|
+
Run in an existing directory or specify a path.
|
|
120
|
+
`,
|
|
121
|
+
examples: [
|
|
122
|
+
'kspec init',
|
|
123
|
+
'kspec init --name my-project',
|
|
124
|
+
'kspec init ./new-project --yes',
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
setup: {
|
|
128
|
+
concept: `
|
|
129
|
+
Configure agent environment for kspec integration.
|
|
130
|
+
|
|
131
|
+
Auto-detects:
|
|
132
|
+
- Claude Code (CLAUDE.md)
|
|
133
|
+
- Cursor (.cursor/rules)
|
|
134
|
+
- Other agent environments
|
|
135
|
+
|
|
136
|
+
Creates or updates agent configuration files with kspec instructions,
|
|
137
|
+
including quick-start commands and workflow guidance.
|
|
138
|
+
|
|
139
|
+
Run this after 'kspec init' to set up agent integration.
|
|
140
|
+
`,
|
|
141
|
+
examples: [
|
|
142
|
+
'kspec setup',
|
|
143
|
+
'kspec setup --agent claude-code',
|
|
144
|
+
'kspec setup --dry-run',
|
|
145
|
+
],
|
|
146
|
+
seeAlso: ['init', 'workflow'],
|
|
147
|
+
},
|
|
148
|
+
item: {
|
|
149
|
+
concept: `
|
|
150
|
+
CRUD operations on spec items (features, requirements, constraints).
|
|
151
|
+
|
|
152
|
+
Spec items define WHAT to build. Tasks track the WORK of building.
|
|
153
|
+
Items are nested: modules contain features, features contain requirements.
|
|
154
|
+
`,
|
|
155
|
+
examples: [
|
|
156
|
+
'kspec item list --type feature',
|
|
157
|
+
'kspec item get @ref-validation',
|
|
158
|
+
'kspec item add --under @core --title "New Feature" --type feature',
|
|
159
|
+
'kspec item add --under @spec-item --title "New Req" --type requirement',
|
|
160
|
+
'kspec item set @my-feature --status implemented',
|
|
161
|
+
'kspec item delete @old-feature',
|
|
162
|
+
],
|
|
163
|
+
seeAlso: ['refs', 'task'],
|
|
164
|
+
},
|
|
165
|
+
// Concept topics
|
|
166
|
+
refs: {
|
|
167
|
+
title: 'References (@refs)',
|
|
168
|
+
concept: `
|
|
169
|
+
References link items together using @ prefix.
|
|
170
|
+
|
|
171
|
+
Formats:
|
|
172
|
+
@slug Human-friendly name (e.g., @task-cli-help)
|
|
173
|
+
@ULID Full 26-char ULID (e.g., @01KEZJNSGPTVRCMT9NHNPJ93D8)
|
|
174
|
+
@prefix ULID prefix, must be unique (e.g., @01KEZ)
|
|
175
|
+
|
|
176
|
+
Where refs are used:
|
|
177
|
+
- spec_ref: Links task to spec item it implements
|
|
178
|
+
- depends_on: Task dependencies (auto-resolve when target completes)
|
|
179
|
+
- implements: Spec item implements another
|
|
180
|
+
- context: Related items for reference
|
|
181
|
+
|
|
182
|
+
Resolution order:
|
|
183
|
+
1. Exact slug match
|
|
184
|
+
2. Full ULID match
|
|
185
|
+
3. ULID prefix match (must be unambiguous)
|
|
186
|
+
|
|
187
|
+
Validate refs with: kspec validate --refs
|
|
188
|
+
`,
|
|
189
|
+
examples: [
|
|
190
|
+
'kspec task get @task-cli-help',
|
|
191
|
+
'kspec task get @01KEZJNS',
|
|
192
|
+
'kspec item get @ref-validation',
|
|
193
|
+
],
|
|
194
|
+
seeAlso: ['validate', 'task'],
|
|
195
|
+
},
|
|
196
|
+
statuses: {
|
|
197
|
+
title: 'Task Statuses',
|
|
198
|
+
concept: `
|
|
199
|
+
Task lifecycle states and transitions.
|
|
200
|
+
|
|
201
|
+
States:
|
|
202
|
+
pending → Ready to start (or waiting on dependencies)
|
|
203
|
+
in_progress → Currently being worked on
|
|
204
|
+
pending_review → Code done, awaiting review/merge
|
|
205
|
+
completed → Done (merged/shipped)
|
|
206
|
+
blocked → Manually blocked (has blocked_by entries)
|
|
207
|
+
cancelled → Cancelled, won't be done
|
|
208
|
+
|
|
209
|
+
Transitions:
|
|
210
|
+
pending → in_progress kspec task start
|
|
211
|
+
in_progress → pending_review kspec task submit
|
|
212
|
+
pending_review → completed kspec task complete
|
|
213
|
+
in_progress → completed kspec task complete (skip review)
|
|
214
|
+
in_progress → blocked kspec task block
|
|
215
|
+
pending_review → blocked kspec task block
|
|
216
|
+
blocked → pending kspec task unblock
|
|
217
|
+
any → cancelled kspec task cancel
|
|
218
|
+
|
|
219
|
+
Auto-blocking:
|
|
220
|
+
Tasks with unfinished depends_on entries are effectively blocked
|
|
221
|
+
but show as 'pending'. They become 'ready' when deps complete.
|
|
222
|
+
|
|
223
|
+
The 'tasks ready' command shows pending tasks with no blockers
|
|
224
|
+
and no incomplete dependencies.
|
|
225
|
+
`,
|
|
226
|
+
seeAlso: ['task', 'tasks'],
|
|
227
|
+
},
|
|
228
|
+
workflow: {
|
|
229
|
+
title: 'Typical Workflow',
|
|
230
|
+
concept: `
|
|
231
|
+
Common workflow for working on tasks.
|
|
232
|
+
|
|
233
|
+
Starting a session:
|
|
234
|
+
1. kspec session start # See what's active and ready
|
|
235
|
+
2. Pick a task from ready list
|
|
236
|
+
|
|
237
|
+
Working on a task:
|
|
238
|
+
1. kspec task start @task # Mark as in_progress
|
|
239
|
+
2. kspec task note @task "Starting work on X..."
|
|
240
|
+
3. Do the work (use todos for tracking sub-items)
|
|
241
|
+
4. kspec task note @task "Completed X, approach was Y..."
|
|
242
|
+
5. kspec task submit @task # Code done, PR created (pending_review)
|
|
243
|
+
6. kspec task complete @task --reason "Summary" # After merge
|
|
244
|
+
|
|
245
|
+
Using todos during work:
|
|
246
|
+
kspec task todo add @task "Review error handling"
|
|
247
|
+
kspec task todo add @task "Add tests"
|
|
248
|
+
kspec task todo done @task 1
|
|
249
|
+
kspec task todos @task
|
|
250
|
+
|
|
251
|
+
Creating new tasks:
|
|
252
|
+
kspec task add --title "Task name" --spec-ref @item --priority 2
|
|
253
|
+
|
|
254
|
+
Blocking/unblocking:
|
|
255
|
+
kspec task block @task --reason "Waiting on X"
|
|
256
|
+
kspec task unblock @task
|
|
257
|
+
|
|
258
|
+
Validating changes:
|
|
259
|
+
kspec validate
|
|
260
|
+
`,
|
|
261
|
+
seeAlso: ['session', 'task', 'tasks'],
|
|
262
|
+
},
|
|
263
|
+
'exit-codes': {
|
|
264
|
+
title: 'Exit Codes',
|
|
265
|
+
concept: `
|
|
266
|
+
Kspec uses semantic exit codes for scripting and automation.
|
|
267
|
+
|
|
268
|
+
Exit Codes:
|
|
269
|
+
0 - SUCCESS Command completed successfully
|
|
270
|
+
1 - ERROR General error (unexpected error, file system error, etc.)
|
|
271
|
+
2 - USAGE_ERROR Usage error (invalid arguments, flags, or command syntax)
|
|
272
|
+
3 - NOT_FOUND Resource not found (task, spec item, inbox item, etc.)
|
|
273
|
+
4 - VALIDATION_FAILED Validation failed (invalid state, schema violation, business rule violation)
|
|
274
|
+
5 - CONFLICT Conflict (resource already exists, duplicate slug, etc.)
|
|
275
|
+
|
|
276
|
+
Commands Using Each Code:
|
|
277
|
+
SUCCESS (0) - All commands on success
|
|
278
|
+
ERROR (1) - All commands on unexpected errors
|
|
279
|
+
USAGE_ERROR (2) - All commands when given invalid arguments
|
|
280
|
+
NOT_FOUND (3) - task, item, inbox, derive, link, meta, tasks
|
|
281
|
+
VALIDATION_FAILED (4) - validate, task (state transitions), item (schema validation)
|
|
282
|
+
CONFLICT (5) - item, task, module (when creating duplicates)
|
|
283
|
+
|
|
284
|
+
Scripting Examples:
|
|
285
|
+
# Check if task exists
|
|
286
|
+
if kspec task get @my-task 2>/dev/null; then
|
|
287
|
+
echo "Task exists"
|
|
288
|
+
elif [ $? -eq 3 ]; then
|
|
289
|
+
echo "Task not found"
|
|
290
|
+
fi
|
|
291
|
+
|
|
292
|
+
# Validate before proceeding
|
|
293
|
+
if kspec validate; then
|
|
294
|
+
echo "All valid"
|
|
295
|
+
else
|
|
296
|
+
code=$?
|
|
297
|
+
[ $code -eq 4 ] && echo "Validation failed"
|
|
298
|
+
[ $code -eq 1 ] && echo "General error"
|
|
299
|
+
fi
|
|
300
|
+
|
|
301
|
+
# Handle not found gracefully
|
|
302
|
+
kspec task start @task || {
|
|
303
|
+
code=$?
|
|
304
|
+
[ $code -eq 3 ] && echo "Task not found"
|
|
305
|
+
[ $code -eq 4 ] && echo "Invalid state transition"
|
|
306
|
+
exit $code
|
|
307
|
+
}
|
|
308
|
+
`,
|
|
309
|
+
seeAlso: ['task', 'validate', 'item'],
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/cli/help/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,2BAA2B;IAC3B,IAAI,EAAE;QACJ,OAAO,EAAE;;;;;;;;;;;;;;;;CAgBZ;QACG,QAAQ,EAAE;YACR,+BAA+B;YAC/B,+DAA+D;YAC/D,2BAA2B;YAC3B,gFAAgF;YAChF,4EAA4E;YAC5E,sDAAsD;YACtD,iCAAiC;YACjC,2BAA2B;SAC5B;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;KACvC;IAED,KAAK,EAAE;QACL,OAAO,EAAE;;;;CAIZ;QACG,QAAQ,EAAE;YACR,mBAAmB;YACnB,gCAAgC;YAChC,oBAAoB;YACpB,2BAA2B;YAC3B,iCAAiC;SAClC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;KAC9B;IAED,QAAQ,EAAE;QACR,OAAO,EAAE;;;;;;;;;;;CAWZ;QACG,QAAQ,EAAE;YACR,gBAAgB;YAChB,uBAAuB;YACvB,yBAAyB;YACzB,uBAAuB;SACxB;QACD,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IAED,OAAO,EAAE;QACP,OAAO,EAAE;;;;;;;;;;;CAWZ;QACG,QAAQ,EAAE;YACR,qBAAqB;YACrB,4BAA4B;YAC5B,gCAAgC;YAChC,eAAe;SAChB;QACD,OAAO,EAAE,CAAC,OAAO,CAAC;KACnB;IAED,IAAI,EAAE;QACJ,OAAO,EAAE;;;;;;;;;CASZ;QACG,QAAQ,EAAE;YACR,YAAY;YACZ,8BAA8B;YAC9B,gCAAgC;SACjC;KACF;IAED,KAAK,EAAE;QACL,OAAO,EAAE;;;;;;;;;;;;CAYZ;QACG,QAAQ,EAAE;YACR,aAAa;YACb,iCAAiC;YACjC,uBAAuB;SACxB;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;KAC9B;IAED,IAAI,EAAE;QACJ,OAAO,EAAE;;;;;CAKZ;QACG,QAAQ,EAAE;YACR,gCAAgC;YAChC,gCAAgC;YAChC,mEAAmE;YACnE,wEAAwE;YACxE,iDAAiD;YACjD,gCAAgC;SACjC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;KAC1B;IAED,iBAAiB;IACjB,IAAI,EAAE;QACJ,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;CAoBZ;QACG,QAAQ,EAAE;YACR,+BAA+B;YAC/B,0BAA0B;YAC1B,gCAAgC;SACjC;QACD,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;KAC9B;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ;QACG,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;KAC3B;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BZ;QACG,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;KACtC;IAED,YAAY,EAAE;QACZ,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CZ;QACG,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;KACtC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AA+E9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { realpathSync } from 'fs';
|
|
5
|
+
import { setJsonMode, setVerboseMode, getVerboseMode } from './output.js';
|
|
6
|
+
import { setVerboseModeGetter } from '../parser/shadow.js';
|
|
7
|
+
import { findClosestCommand, getAllCommands, COMMAND_ALIASES } from './suggest.js';
|
|
8
|
+
import { registerTasksCommands, registerTaskCommands, registerSetupCommand, registerSessionCommands, registerInitCommand, registerItemCommands, registerValidateCommand, registerHelpCommand, registerDeriveCommand, registerInboxCommands, registerShadowCommands, registerLogCommand, registerSearchCommand, registerRalphCommand, registerMetaCommands, registerLinkCommands, registerModuleCommands, registerTraitCommands, registerItemTraitCommands, registerCloneForTestingCommand, } from './commands/index.js';
|
|
9
|
+
import { EXIT_CODES } from './exit-codes.js';
|
|
10
|
+
const program = new Command();
|
|
11
|
+
// Initialize verbose mode getter for shadow operations
|
|
12
|
+
setVerboseModeGetter(getVerboseMode);
|
|
13
|
+
program
|
|
14
|
+
.name('kspec')
|
|
15
|
+
.description('Kynetic Spec - Structured specification format CLI')
|
|
16
|
+
.version('0.1.0')
|
|
17
|
+
.option('--json', 'Output in JSON format')
|
|
18
|
+
.option('--debug-shadow', 'Enable debug output for shadow operations')
|
|
19
|
+
.hook('preAction', (thisCommand) => {
|
|
20
|
+
// Check for --json and --debug-shadow flags at top level or on subcommand
|
|
21
|
+
const opts = thisCommand.opts();
|
|
22
|
+
if (opts.json) {
|
|
23
|
+
setJsonMode(true);
|
|
24
|
+
}
|
|
25
|
+
if (opts.debugShadow) {
|
|
26
|
+
setVerboseMode(true);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
// Register command groups
|
|
30
|
+
registerTasksCommands(program);
|
|
31
|
+
registerTaskCommands(program);
|
|
32
|
+
registerSetupCommand(program);
|
|
33
|
+
registerSessionCommands(program);
|
|
34
|
+
registerInitCommand(program);
|
|
35
|
+
// Register item commands first, then add trait subcommands to it
|
|
36
|
+
registerItemCommands(program);
|
|
37
|
+
const itemCmd = program.commands.find(cmd => cmd.name() === 'item');
|
|
38
|
+
if (itemCmd) {
|
|
39
|
+
registerItemTraitCommands(itemCmd);
|
|
40
|
+
}
|
|
41
|
+
registerTraitCommands(program);
|
|
42
|
+
registerValidateCommand(program);
|
|
43
|
+
registerHelpCommand(program);
|
|
44
|
+
registerDeriveCommand(program);
|
|
45
|
+
registerInboxCommands(program);
|
|
46
|
+
registerShadowCommands(program);
|
|
47
|
+
registerLogCommand(program);
|
|
48
|
+
registerSearchCommand(program);
|
|
49
|
+
registerRalphCommand(program);
|
|
50
|
+
registerMetaCommands(program);
|
|
51
|
+
registerLinkCommands(program);
|
|
52
|
+
registerModuleCommands(program);
|
|
53
|
+
registerCloneForTestingCommand(program);
|
|
54
|
+
// Handle unknown commands with suggestions
|
|
55
|
+
program.on('command:*', (operands) => {
|
|
56
|
+
const unknownCommand = operands[0];
|
|
57
|
+
// Check for direct alias match
|
|
58
|
+
if (COMMAND_ALIASES[unknownCommand]) {
|
|
59
|
+
console.error(chalk.red(`error: unknown command '${unknownCommand}'`));
|
|
60
|
+
console.error(chalk.yellow(`Did you mean: kspec ${COMMAND_ALIASES[unknownCommand]}?`));
|
|
61
|
+
process.exit(EXIT_CODES.ERROR);
|
|
62
|
+
}
|
|
63
|
+
// Get all available commands
|
|
64
|
+
const allCommands = getAllCommands(program);
|
|
65
|
+
// Find closest match
|
|
66
|
+
const suggestion = findClosestCommand(unknownCommand, allCommands);
|
|
67
|
+
if (suggestion) {
|
|
68
|
+
console.error(chalk.red(`error: unknown command '${unknownCommand}'`));
|
|
69
|
+
console.error(chalk.yellow(`Did you mean: kspec ${suggestion}?`));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
console.error(chalk.red(`error: unknown command '${unknownCommand}'`));
|
|
73
|
+
console.error(chalk.gray(`Run 'kspec help' to see available commands`));
|
|
74
|
+
}
|
|
75
|
+
process.exit(EXIT_CODES.ERROR);
|
|
76
|
+
});
|
|
77
|
+
// Export program for introspection (used by help command)
|
|
78
|
+
export { program };
|
|
79
|
+
// Parse and execute (only when run directly)
|
|
80
|
+
// Use realpathSync to resolve symlinks (e.g., when run via npm link)
|
|
81
|
+
const scriptPath = realpathSync(process.argv[1]);
|
|
82
|
+
if (import.meta.url === `file://${scriptPath}`) {
|
|
83
|
+
program.parse();
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|