@fission-ai/openspec 0.17.1 → 0.18.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.
Files changed (56) hide show
  1. package/dist/cli/index.js +7 -1
  2. package/dist/commands/artifact-workflow.d.ts +17 -0
  3. package/dist/commands/artifact-workflow.js +818 -0
  4. package/dist/commands/validate.d.ts +1 -0
  5. package/dist/commands/validate.js +3 -3
  6. package/dist/core/archive.d.ts +0 -5
  7. package/dist/core/archive.js +4 -257
  8. package/dist/core/artifact-graph/graph.d.ts +56 -0
  9. package/dist/core/artifact-graph/graph.js +141 -0
  10. package/dist/core/artifact-graph/index.d.ts +7 -0
  11. package/dist/core/artifact-graph/index.js +13 -0
  12. package/dist/core/artifact-graph/instruction-loader.d.ts +130 -0
  13. package/dist/core/artifact-graph/instruction-loader.js +173 -0
  14. package/dist/core/artifact-graph/resolver.d.ts +61 -0
  15. package/dist/core/artifact-graph/resolver.js +187 -0
  16. package/dist/core/artifact-graph/schema.d.ts +13 -0
  17. package/dist/core/artifact-graph/schema.js +108 -0
  18. package/dist/core/artifact-graph/state.d.ts +12 -0
  19. package/dist/core/artifact-graph/state.js +54 -0
  20. package/dist/core/artifact-graph/types.d.ts +45 -0
  21. package/dist/core/artifact-graph/types.js +43 -0
  22. package/dist/core/converters/json-converter.js +2 -1
  23. package/dist/core/global-config.d.ts +10 -0
  24. package/dist/core/global-config.js +28 -0
  25. package/dist/core/index.d.ts +1 -1
  26. package/dist/core/index.js +1 -1
  27. package/dist/core/list.d.ts +6 -1
  28. package/dist/core/list.js +88 -6
  29. package/dist/core/specs-apply.d.ts +73 -0
  30. package/dist/core/specs-apply.js +384 -0
  31. package/dist/core/templates/skill-templates.d.ts +76 -0
  32. package/dist/core/templates/skill-templates.js +1472 -0
  33. package/dist/core/update.js +1 -1
  34. package/dist/core/validation/validator.js +2 -1
  35. package/dist/core/view.js +28 -8
  36. package/dist/utils/change-metadata.d.ts +47 -0
  37. package/dist/utils/change-metadata.js +130 -0
  38. package/dist/utils/change-utils.d.ts +51 -0
  39. package/dist/utils/change-utils.js +100 -0
  40. package/dist/utils/file-system.d.ts +5 -0
  41. package/dist/utils/file-system.js +7 -0
  42. package/dist/utils/index.d.ts +3 -1
  43. package/dist/utils/index.js +4 -1
  44. package/dist/utils/interactive.d.ts +7 -2
  45. package/dist/utils/interactive.js +9 -1
  46. package/package.json +4 -1
  47. package/schemas/spec-driven/schema.yaml +148 -0
  48. package/schemas/spec-driven/templates/design.md +19 -0
  49. package/schemas/spec-driven/templates/proposal.md +23 -0
  50. package/schemas/spec-driven/templates/spec.md +8 -0
  51. package/schemas/spec-driven/templates/tasks.md +9 -0
  52. package/schemas/tdd/schema.yaml +213 -0
  53. package/schemas/tdd/templates/docs.md +15 -0
  54. package/schemas/tdd/templates/implementation.md +11 -0
  55. package/schemas/tdd/templates/spec.md +11 -0
  56. package/schemas/tdd/templates/test.md +11 -0
package/dist/cli/index.js CHANGED
@@ -14,6 +14,7 @@ import { ValidateCommand } from '../commands/validate.js';
14
14
  import { ShowCommand } from '../commands/show.js';
15
15
  import { CompletionCommand } from '../commands/completion.js';
16
16
  import { registerConfigCommand } from '../commands/config.js';
17
+ import { registerArtifactWorkflowCommands } from '../commands/artifact-workflow.js';
17
18
  const program = new Command();
18
19
  const require = createRequire(import.meta.url);
19
20
  const { version } = require('../../package.json');
@@ -90,11 +91,14 @@ program
90
91
  .description('List items (changes by default). Use --specs to list specs.')
91
92
  .option('--specs', 'List specs instead of changes')
92
93
  .option('--changes', 'List changes explicitly (default)')
94
+ .option('--sort <order>', 'Sort order: "recent" (default) or "name"', 'recent')
95
+ .option('--json', 'Output as JSON (for programmatic use)')
93
96
  .action(async (options) => {
94
97
  try {
95
98
  const listCommand = new ListCommand();
96
99
  const mode = options?.specs ? 'specs' : 'changes';
97
- await listCommand.execute('.', mode);
100
+ const sort = options?.sort === 'name' ? 'name' : 'recent';
101
+ await listCommand.execute('.', mode, { sort, json: options?.json });
98
102
  }
99
103
  catch (error) {
100
104
  console.log(); // Empty line for spacing
@@ -307,5 +311,7 @@ program
307
311
  process.exitCode = 1;
308
312
  }
309
313
  });
314
+ // Register artifact workflow commands (experimental)
315
+ registerArtifactWorkflowCommands(program);
310
316
  program.parse();
311
317
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Artifact Workflow CLI Commands (Experimental)
3
+ *
4
+ * This file contains all artifact workflow commands in isolation for easy removal.
5
+ * Commands expose the ArtifactGraph and InstructionLoader APIs to users and agents.
6
+ *
7
+ * To remove this feature:
8
+ * 1. Delete this file
9
+ * 2. Remove the registerArtifactWorkflowCommands() call from src/cli/index.ts
10
+ */
11
+ import type { Command } from 'commander';
12
+ /**
13
+ * Registers all artifact workflow commands on the given program.
14
+ * All commands are marked as experimental in their help text.
15
+ */
16
+ export declare function registerArtifactWorkflowCommands(program: Command): void;
17
+ //# sourceMappingURL=artifact-workflow.d.ts.map