@superkou/openspec 1.4.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.
- package/LICENSE +22 -0
- package/README.md +213 -0
- package/bin/openspec.js +5 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.js +544 -0
- package/dist/commands/change.d.ts +35 -0
- package/dist/commands/change.js +277 -0
- package/dist/commands/completion.d.ts +72 -0
- package/dist/commands/completion.js +264 -0
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +611 -0
- package/dist/commands/context-store.d.ts +3 -0
- package/dist/commands/context-store.js +475 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.js +183 -0
- package/dist/commands/initiative.d.ts +13 -0
- package/dist/commands/initiative.js +318 -0
- package/dist/commands/schema.d.ts +6 -0
- package/dist/commands/schema.js +869 -0
- package/dist/commands/show.d.ts +14 -0
- package/dist/commands/show.js +132 -0
- package/dist/commands/spec.d.ts +15 -0
- package/dist/commands/spec.js +225 -0
- package/dist/commands/validate.d.ts +24 -0
- package/dist/commands/validate.js +294 -0
- package/dist/commands/workflow/index.d.ts +19 -0
- package/dist/commands/workflow/index.js +13 -0
- package/dist/commands/workflow/initiative-link.d.ts +24 -0
- package/dist/commands/workflow/initiative-link.js +47 -0
- package/dist/commands/workflow/instructions.d.ts +29 -0
- package/dist/commands/workflow/instructions.js +344 -0
- package/dist/commands/workflow/new-change.d.ts +17 -0
- package/dist/commands/workflow/new-change.js +141 -0
- package/dist/commands/workflow/schemas.d.ts +10 -0
- package/dist/commands/workflow/schemas.js +34 -0
- package/dist/commands/workflow/set-change.d.ts +13 -0
- package/dist/commands/workflow/set-change.js +87 -0
- package/dist/commands/workflow/shared.d.ts +59 -0
- package/dist/commands/workflow/shared.js +116 -0
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.js +90 -0
- package/dist/commands/workflow/templates.d.ts +16 -0
- package/dist/commands/workflow/templates.js +69 -0
- package/dist/commands/workspace/context-status.d.ts +4 -0
- package/dist/commands/workspace/context-status.js +59 -0
- package/dist/commands/workspace/open-target-selection.d.ts +13 -0
- package/dist/commands/workspace/open-target-selection.js +146 -0
- package/dist/commands/workspace/open-view.d.ts +62 -0
- package/dist/commands/workspace/open-view.js +249 -0
- package/dist/commands/workspace/open.d.ts +37 -0
- package/dist/commands/workspace/open.js +110 -0
- package/dist/commands/workspace/opener-selection.d.ts +11 -0
- package/dist/commands/workspace/opener-selection.js +98 -0
- package/dist/commands/workspace/operations.d.ts +29 -0
- package/dist/commands/workspace/operations.js +543 -0
- package/dist/commands/workspace/prompt-theme.d.ts +29 -0
- package/dist/commands/workspace/prompt-theme.js +24 -0
- package/dist/commands/workspace/registration.d.ts +13 -0
- package/dist/commands/workspace/registration.js +84 -0
- package/dist/commands/workspace/selection.d.ts +8 -0
- package/dist/commands/workspace/selection.js +104 -0
- package/dist/commands/workspace/setup-prompts.d.ts +13 -0
- package/dist/commands/workspace/setup-prompts.js +121 -0
- package/dist/commands/workspace/types.d.ts +103 -0
- package/dist/commands/workspace/types.js +36 -0
- package/dist/commands/workspace.d.ts +5 -0
- package/dist/commands/workspace.js +577 -0
- package/dist/core/archive.d.ts +11 -0
- package/dist/core/archive.js +318 -0
- package/dist/core/artifact-graph/graph.d.ts +56 -0
- package/dist/core/artifact-graph/graph.js +141 -0
- package/dist/core/artifact-graph/index.d.ts +9 -0
- package/dist/core/artifact-graph/index.js +14 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +183 -0
- package/dist/core/artifact-graph/instruction-loader.js +256 -0
- package/dist/core/artifact-graph/outputs.d.ts +14 -0
- package/dist/core/artifact-graph/outputs.js +39 -0
- package/dist/core/artifact-graph/resolver.d.ts +81 -0
- package/dist/core/artifact-graph/resolver.js +257 -0
- package/dist/core/artifact-graph/schema.d.ts +13 -0
- package/dist/core/artifact-graph/schema.js +108 -0
- package/dist/core/artifact-graph/state.d.ts +12 -0
- package/dist/core/artifact-graph/state.js +31 -0
- package/dist/core/artifact-graph/types.d.ts +40 -0
- package/dist/core/artifact-graph/types.js +29 -0
- package/dist/core/available-tools.d.ts +17 -0
- package/dist/core/available-tools.js +43 -0
- package/dist/core/change-metadata/index.d.ts +2 -0
- package/dist/core/change-metadata/index.js +2 -0
- package/dist/core/change-metadata/schema.d.ts +18 -0
- package/dist/core/change-metadata/schema.js +28 -0
- package/dist/core/change-status-policy.d.ts +50 -0
- package/dist/core/change-status-policy.js +70 -0
- package/dist/core/collections/index.d.ts +3 -0
- package/dist/core/collections/index.js +3 -0
- package/dist/core/collections/initiatives/collection.d.ts +4 -0
- package/dist/core/collections/initiatives/collection.js +17 -0
- package/dist/core/collections/initiatives/index.d.ts +6 -0
- package/dist/core/collections/initiatives/index.js +6 -0
- package/dist/core/collections/initiatives/operations.d.ts +49 -0
- package/dist/core/collections/initiatives/operations.js +175 -0
- package/dist/core/collections/initiatives/resolution.d.ts +87 -0
- package/dist/core/collections/initiatives/resolution.js +374 -0
- package/dist/core/collections/initiatives/schema.d.ts +41 -0
- package/dist/core/collections/initiatives/schema.js +134 -0
- package/dist/core/collections/initiatives/templates.d.ts +12 -0
- package/dist/core/collections/initiatives/templates.js +90 -0
- package/dist/core/collections/runtime.d.ts +46 -0
- package/dist/core/collections/runtime.js +194 -0
- package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
- package/dist/core/command-generation/adapters/amazon-q.js +26 -0
- package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
- package/dist/core/command-generation/adapters/antigravity.js +26 -0
- package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
- package/dist/core/command-generation/adapters/auggie.js +27 -0
- package/dist/core/command-generation/adapters/bob.d.ts +14 -0
- package/dist/core/command-generation/adapters/bob.js +45 -0
- package/dist/core/command-generation/adapters/claude.d.ts +13 -0
- package/dist/core/command-generation/adapters/claude.js +50 -0
- package/dist/core/command-generation/adapters/cline.d.ts +14 -0
- package/dist/core/command-generation/adapters/cline.js +27 -0
- package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
- package/dist/core/command-generation/adapters/codebuddy.js +28 -0
- package/dist/core/command-generation/adapters/codex.d.ts +16 -0
- package/dist/core/command-generation/adapters/codex.js +39 -0
- package/dist/core/command-generation/adapters/continue.d.ts +13 -0
- package/dist/core/command-generation/adapters/continue.js +28 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
- package/dist/core/command-generation/adapters/costrict.js +27 -0
- package/dist/core/command-generation/adapters/crush.d.ts +13 -0
- package/dist/core/command-generation/adapters/crush.js +30 -0
- package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
- package/dist/core/command-generation/adapters/cursor.js +44 -0
- package/dist/core/command-generation/adapters/factory.d.ts +13 -0
- package/dist/core/command-generation/adapters/factory.js +27 -0
- package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
- package/dist/core/command-generation/adapters/gemini.js +26 -0
- package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
- package/dist/core/command-generation/adapters/github-copilot.js +26 -0
- package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
- package/dist/core/command-generation/adapters/iflow.js +29 -0
- package/dist/core/command-generation/adapters/index.d.ts +32 -0
- package/dist/core/command-generation/adapters/index.js +32 -0
- package/dist/core/command-generation/adapters/junie.d.ts +13 -0
- package/dist/core/command-generation/adapters/junie.js +26 -0
- package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/kilocode.js +23 -0
- package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
- package/dist/core/command-generation/adapters/kiro.js +26 -0
- package/dist/core/command-generation/adapters/lingma.d.ts +13 -0
- package/dist/core/command-generation/adapters/lingma.js +30 -0
- package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
- package/dist/core/command-generation/adapters/opencode.js +29 -0
- package/dist/core/command-generation/adapters/pi.d.ts +18 -0
- package/dist/core/command-generation/adapters/pi.js +55 -0
- package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
- package/dist/core/command-generation/adapters/qoder.js +30 -0
- package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
- package/dist/core/command-generation/adapters/qwen.js +26 -0
- package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/roocode.js +27 -0
- package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
- package/dist/core/command-generation/adapters/windsurf.js +51 -0
- package/dist/core/command-generation/generator.d.ts +21 -0
- package/dist/core/command-generation/generator.js +27 -0
- package/dist/core/command-generation/index.d.ts +22 -0
- package/dist/core/command-generation/index.js +24 -0
- package/dist/core/command-generation/registry.d.ts +36 -0
- package/dist/core/command-generation/registry.js +98 -0
- package/dist/core/command-generation/types.d.ts +56 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/completions/command-registry.d.ts +3 -0
- package/dist/core/completions/command-registry.js +961 -0
- package/dist/core/completions/completion-provider.d.ts +71 -0
- package/dist/core/completions/completion-provider.js +129 -0
- package/dist/core/completions/factory.d.ts +64 -0
- package/dist/core/completions/factory.js +75 -0
- package/dist/core/completions/generators/bash-generator.d.ts +35 -0
- package/dist/core/completions/generators/bash-generator.js +230 -0
- package/dist/core/completions/generators/fish-generator.d.ts +32 -0
- package/dist/core/completions/generators/fish-generator.js +160 -0
- package/dist/core/completions/generators/powershell-generator.d.ts +36 -0
- package/dist/core/completions/generators/powershell-generator.js +266 -0
- package/dist/core/completions/generators/zsh-generator.d.ts +47 -0
- package/dist/core/completions/generators/zsh-generator.js +274 -0
- package/dist/core/completions/installers/bash-installer.d.ts +87 -0
- package/dist/core/completions/installers/bash-installer.js +318 -0
- package/dist/core/completions/installers/fish-installer.d.ts +43 -0
- package/dist/core/completions/installers/fish-installer.js +143 -0
- package/dist/core/completions/installers/powershell-installer.d.ts +102 -0
- package/dist/core/completions/installers/powershell-installer.js +387 -0
- package/dist/core/completions/installers/zsh-installer.d.ts +117 -0
- package/dist/core/completions/installers/zsh-installer.js +421 -0
- package/dist/core/completions/shared-flags.d.ts +12 -0
- package/dist/core/completions/shared-flags.js +28 -0
- package/dist/core/completions/templates/bash-templates.d.ts +6 -0
- package/dist/core/completions/templates/bash-templates.js +30 -0
- package/dist/core/completions/templates/fish-templates.d.ts +7 -0
- package/dist/core/completions/templates/fish-templates.js +45 -0
- package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
- package/dist/core/completions/templates/powershell-templates.js +34 -0
- package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
- package/dist/core/completions/templates/zsh-templates.js +45 -0
- package/dist/core/completions/types.d.ts +101 -0
- package/dist/core/completions/types.js +2 -0
- package/dist/core/config-prompts.d.ts +9 -0
- package/dist/core/config-prompts.js +34 -0
- package/dist/core/config-schema.d.ts +86 -0
- package/dist/core/config-schema.js +213 -0
- package/dist/core/config.d.ts +18 -0
- package/dist/core/config.js +39 -0
- package/dist/core/context-store/binding.d.ts +53 -0
- package/dist/core/context-store/binding.js +197 -0
- package/dist/core/context-store/errors.d.ts +20 -0
- package/dist/core/context-store/errors.js +22 -0
- package/dist/core/context-store/foundation.d.ts +55 -0
- package/dist/core/context-store/foundation.js +321 -0
- package/dist/core/context-store/index.d.ts +6 -0
- package/dist/core/context-store/index.js +6 -0
- package/dist/core/context-store/operations.d.ts +85 -0
- package/dist/core/context-store/operations.js +528 -0
- package/dist/core/context-store/registry.d.ts +45 -0
- package/dist/core/context-store/registry.js +229 -0
- package/dist/core/converters/json-converter.d.ts +6 -0
- package/dist/core/converters/json-converter.js +51 -0
- package/dist/core/global-config.d.ts +49 -0
- package/dist/core/global-config.js +124 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.js +7 -0
- package/dist/core/init.d.ts +37 -0
- package/dist/core/init.js +593 -0
- package/dist/core/legacy-cleanup.d.ts +162 -0
- package/dist/core/legacy-cleanup.js +514 -0
- package/dist/core/list.d.ts +9 -0
- package/dist/core/list.js +171 -0
- package/dist/core/migration.d.ts +23 -0
- package/dist/core/migration.js +108 -0
- package/dist/core/parsers/change-parser.d.ts +13 -0
- package/dist/core/parsers/change-parser.js +197 -0
- package/dist/core/parsers/markdown-parser.d.ts +26 -0
- package/dist/core/parsers/markdown-parser.js +227 -0
- package/dist/core/parsers/requirement-blocks.d.ts +37 -0
- package/dist/core/parsers/requirement-blocks.js +201 -0
- package/dist/core/parsers/spec-structure.d.ts +9 -0
- package/dist/core/parsers/spec-structure.js +88 -0
- package/dist/core/planning-home.d.ts +21 -0
- package/dist/core/planning-home.js +108 -0
- package/dist/core/profile-sync-drift.d.ts +38 -0
- package/dist/core/profile-sync-drift.js +200 -0
- package/dist/core/profiles.d.ts +26 -0
- package/dist/core/profiles.js +40 -0
- package/dist/core/project-config.d.ts +64 -0
- package/dist/core/project-config.js +223 -0
- package/dist/core/schemas/base.schema.d.ts +13 -0
- package/dist/core/schemas/base.schema.js +13 -0
- package/dist/core/schemas/change.schema.d.ts +73 -0
- package/dist/core/schemas/change.schema.js +31 -0
- package/dist/core/schemas/index.d.ts +4 -0
- package/dist/core/schemas/index.js +4 -0
- package/dist/core/schemas/spec.schema.d.ts +18 -0
- package/dist/core/schemas/spec.schema.js +15 -0
- package/dist/core/shared/index.d.ts +8 -0
- package/dist/core/shared/index.js +8 -0
- package/dist/core/shared/skill-generation.d.ts +49 -0
- package/dist/core/shared/skill-generation.js +96 -0
- package/dist/core/shared/tool-detection.d.ts +71 -0
- package/dist/core/shared/tool-detection.js +158 -0
- package/dist/core/specs-apply.d.ts +73 -0
- package/dist/core/specs-apply.js +392 -0
- package/dist/core/styles/palette.d.ts +7 -0
- package/dist/core/styles/palette.js +8 -0
- package/dist/core/templates/index.d.ts +8 -0
- package/dist/core/templates/index.js +9 -0
- package/dist/core/templates/skill-templates.d.ts +19 -0
- package/dist/core/templates/skill-templates.js +18 -0
- package/dist/core/templates/types.d.ts +19 -0
- package/dist/core/templates/types.js +5 -0
- package/dist/core/templates/workflows/apply-change.d.ts +10 -0
- package/dist/core/templates/workflows/apply-change.js +314 -0
- package/dist/core/templates/workflows/archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/archive-change.js +277 -0
- package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/bulk-archive-change.js +492 -0
- package/dist/core/templates/workflows/continue-change.d.ts +10 -0
- package/dist/core/templates/workflows/continue-change.js +234 -0
- package/dist/core/templates/workflows/explore.d.ts +10 -0
- package/dist/core/templates/workflows/explore.js +459 -0
- package/dist/core/templates/workflows/feedback.d.ts +9 -0
- package/dist/core/templates/workflows/feedback.js +108 -0
- package/dist/core/templates/workflows/ff-change.d.ts +10 -0
- package/dist/core/templates/workflows/ff-change.js +200 -0
- package/dist/core/templates/workflows/new-change.d.ts +10 -0
- package/dist/core/templates/workflows/new-change.js +143 -0
- package/dist/core/templates/workflows/onboard.d.ts +10 -0
- package/dist/core/templates/workflows/onboard.js +563 -0
- package/dist/core/templates/workflows/propose.d.ts +10 -0
- package/dist/core/templates/workflows/propose.js +218 -0
- package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
- package/dist/core/templates/workflows/sync-specs.js +290 -0
- package/dist/core/templates/workflows/verify-change.d.ts +10 -0
- package/dist/core/templates/workflows/verify-change.js +338 -0
- package/dist/core/update.d.ts +82 -0
- package/dist/core/update.js +557 -0
- package/dist/core/validation/constants.d.ts +34 -0
- package/dist/core/validation/constants.js +40 -0
- package/dist/core/validation/types.d.ts +18 -0
- package/dist/core/validation/types.js +2 -0
- package/dist/core/validation/validator.d.ts +43 -0
- package/dist/core/validation/validator.js +435 -0
- package/dist/core/view.d.ts +8 -0
- package/dist/core/view.js +168 -0
- package/dist/core/workspace/foundation.d.ts +67 -0
- package/dist/core/workspace/foundation.js +295 -0
- package/dist/core/workspace/index.d.ts +8 -0
- package/dist/core/workspace/index.js +8 -0
- package/dist/core/workspace/legacy-state.d.ts +28 -0
- package/dist/core/workspace/legacy-state.js +200 -0
- package/dist/core/workspace/link-input.d.ts +9 -0
- package/dist/core/workspace/link-input.js +32 -0
- package/dist/core/workspace/open-surface.d.ts +45 -0
- package/dist/core/workspace/open-surface.js +215 -0
- package/dist/core/workspace/openers.d.ts +21 -0
- package/dist/core/workspace/openers.js +124 -0
- package/dist/core/workspace/registry.d.ts +24 -0
- package/dist/core/workspace/registry.js +146 -0
- package/dist/core/workspace/skills.d.ts +57 -0
- package/dist/core/workspace/skills.js +334 -0
- package/dist/core/workspace/state-io.d.ts +10 -0
- package/dist/core/workspace/state-io.js +121 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/prompts/searchable-multi-select.d.ts +28 -0
- package/dist/prompts/searchable-multi-select.js +159 -0
- package/dist/telemetry/config.d.ts +38 -0
- package/dist/telemetry/config.js +136 -0
- package/dist/telemetry/index.d.ts +31 -0
- package/dist/telemetry/index.js +164 -0
- package/dist/ui/ascii-patterns.d.ts +16 -0
- package/dist/ui/ascii-patterns.js +133 -0
- package/dist/ui/welcome-screen.d.ts +10 -0
- package/dist/ui/welcome-screen.js +146 -0
- package/dist/utils/change-metadata.d.ts +54 -0
- package/dist/utils/change-metadata.js +141 -0
- package/dist/utils/change-utils.d.ts +71 -0
- package/dist/utils/change-utils.js +123 -0
- package/dist/utils/command-references.d.ts +18 -0
- package/dist/utils/command-references.js +20 -0
- package/dist/utils/file-system.d.ts +41 -0
- package/dist/utils/file-system.js +301 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/interactive.d.ts +18 -0
- package/dist/utils/interactive.js +21 -0
- package/dist/utils/item-discovery.d.ts +4 -0
- package/dist/utils/item-discovery.js +72 -0
- package/dist/utils/match.d.ts +3 -0
- package/dist/utils/match.js +22 -0
- package/dist/utils/shell-detection.d.ts +20 -0
- package/dist/utils/shell-detection.js +41 -0
- package/dist/utils/task-progress.d.ts +8 -0
- package/dist/utils/task-progress.js +36 -0
- package/package.json +85 -0
- package/schemas/spec-driven/schema.yaml +151 -0
- package/schemas/spec-driven/templates/design.md +19 -0
- package/schemas/spec-driven/templates/proposal.md +23 -0
- package/schemas/spec-driven/templates/spec.md +8 -0
- package/schemas/spec-driven/templates/tasks.md +9 -0
- package/schemas/workspace-planning/schema.yaml +72 -0
- package/schemas/workspace-planning/templates/design.md +33 -0
- package/schemas/workspace-planning/templates/proposal.md +28 -0
- package/schemas/workspace-planning/templates/spec.md +9 -0
- package/schemas/workspace-planning/templates/tasks.md +15 -0
- package/scripts/postinstall.js +83 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 OpenSpec Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://github.com/sevensky/OpenSpec">
|
|
3
|
+
<picture>
|
|
4
|
+
<source srcset="assets/openspec_bg.png">
|
|
5
|
+
<img src="assets/openspec_bg.png" alt="OpenSpec logo">
|
|
6
|
+
</picture>
|
|
7
|
+
</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
<a href="https://github.com/sevensky/OpenSpec/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/sevensky/OpenSpec/actions/workflows/ci.yml/badge.svg" /></a>
|
|
12
|
+
<a href="https://www.npmjs.com/package/@superkou/openspec"><img alt="npm version" src="https://img.shields.io/npm/v/@superkou/openspec?style=flat-square" /></a>
|
|
13
|
+
<a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
> [!IMPORTANT]
|
|
17
|
+
> **🇨🇳 本项目是 [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec) 的中文化 Fork**
|
|
18
|
+
>
|
|
19
|
+
> 所有用户可见的界面文字已翻译为中文,包括 CLI 命令、错误提示、交互提示和模板文档。
|
|
20
|
+
> 发布在 npm 上为 [`@superkou/openspec`](https://www.npmjs.com/package/@superkou/openspec),CLI 命令依然是 `openspec`。
|
|
21
|
+
>
|
|
22
|
+
> 会持续同步上游更新。欢迎提交 Issue 和 PR!
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<sub>上游 · <a href="https://github.com/Fission-AI/OpenSpec">Fission-AI/OpenSpec</a></sub>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<details>
|
|
29
|
+
<summary><strong>最受欢迎的规格框架</strong></summary>
|
|
30
|
+
|
|
31
|
+
[](https://github.com/sevensky/OpenSpec/stargazers)
|
|
32
|
+
[](https://www.npmjs.com/package/@superkou/openspec)
|
|
33
|
+
|
|
34
|
+
</details>
|
|
35
|
+
<p></p>
|
|
36
|
+
|
|
37
|
+
核心理念:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
→ 灵活,不僵化
|
|
41
|
+
→ 迭代,非瀑布
|
|
42
|
+
→ 简单,不复杂
|
|
43
|
+
→ 适配既有项目,不仅限于新项目
|
|
44
|
+
→ 从个人项目到企业级都可扩展
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
> [!TIP]
|
|
48
|
+
> **新工作流已可用!** 我们基于新的制品引导工作流重构了 OpenSpec。
|
|
49
|
+
>
|
|
50
|
+
> 运行 `/opsx:propose "你的想法"` 开始使用。→ [了解更多](docs/opsx.md)
|
|
51
|
+
|
|
52
|
+
<p align="center">
|
|
53
|
+
关注 <a href="https://x.com/0xTab">@0xTab on X</a> 获取更新 · 加入 <a href="https://discord.gg/YctCnvvshC">OpenSpec Discord</a> 寻求帮助
|
|
54
|
+
</p>
|
|
55
|
+
|
|
56
|
+
<!-- TODO: Add GIF demo of /opsx:propose → /opsx:archive workflow -->
|
|
57
|
+
|
|
58
|
+
## 效果预览
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
你: /opsx:propose 添加暗色模式
|
|
62
|
+
AI: 已创建 openspec/changes/add-dark-mode/
|
|
63
|
+
✓ proposal.md — 为何要做、变更内容
|
|
64
|
+
✓ specs/ — 需求和场景
|
|
65
|
+
✓ design.md — 技术方案
|
|
66
|
+
✓ tasks.md — 实现清单
|
|
67
|
+
准备就绪,开始实现!
|
|
68
|
+
|
|
69
|
+
你: /opsx:apply
|
|
70
|
+
AI: 正在执行任务...
|
|
71
|
+
✓ 1.1 添加主题 Context Provider
|
|
72
|
+
✓ 1.2 创建切换组件
|
|
73
|
+
✓ 2.1 添加 CSS 变量
|
|
74
|
+
✓ 2.2 接入 localStorage
|
|
75
|
+
所有任务完成!
|
|
76
|
+
|
|
77
|
+
你: /opsx:archive
|
|
78
|
+
AI: 已归档到 openspec/changes/archive/2025-01-23-添加暗色模式/
|
|
79
|
+
规格已更新。准备进行下一个功能。
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
<details>
|
|
83
|
+
<summary><strong>OpenSpec 仪表盘</strong></summary>
|
|
84
|
+
|
|
85
|
+
<p align="center">
|
|
86
|
+
<img src="assets/openspec_dashboard.png" alt="OpenSpec 仪表盘预览" width="90%">
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
</details>
|
|
90
|
+
|
|
91
|
+
## 快速开始
|
|
92
|
+
|
|
93
|
+
**需要 Node.js 20.19.0 或更高版本。**
|
|
94
|
+
|
|
95
|
+
全局安装 OpenSpec:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm install -g @superkou/openspec@latest
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
然后进入你的项目目录并初始化:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
cd your-project
|
|
105
|
+
openspec init
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
现在告诉你的 AI:`/opsx:propose <你想构建的功能>`
|
|
109
|
+
|
|
110
|
+
如果想使用扩展工作流(`/opsx:new`、`/opsx:continue`、`/opsx:ff`、`/opsx:verify`、`/opsx:bulk-archive`、`/opsx:onboard`),运行 `openspec config profile` 选择,然后用 `openspec update` 应用。
|
|
111
|
+
|
|
112
|
+
> [!NOTE]
|
|
113
|
+
> 不确定你的工具是否受支持?[查看完整列表](docs/supported-tools.md) — 我们支持 25+ 种工具且持续增加。
|
|
114
|
+
>
|
|
115
|
+
> 也支持 pnpm、yarn、bun 和 nix。[查看安装选项](docs/installation.md)。
|
|
116
|
+
|
|
117
|
+
## 文档
|
|
118
|
+
|
|
119
|
+
→ **[入门指南](docs/getting-started.md)**:第一步<br>
|
|
120
|
+
→ **[工作流](docs/workflows.md)**:组合与模式<br>
|
|
121
|
+
→ **[命令](docs/commands.md)**:斜杠命令与技能<br>
|
|
122
|
+
→ **[CLI](docs/cli.md)**:终端参考<br>
|
|
123
|
+
→ **[支持的工���](docs/supported-tools.md)**:工具集成与安装路径<br>
|
|
124
|
+
→ **[概念](docs/concepts.md)**:整体架构<br>
|
|
125
|
+
→ **[多语言](docs/multi-language.md)**:多语言支持<br>
|
|
126
|
+
→ **[自定义](docs/customization.md)**:按需定制
|
|
127
|
+
|
|
128
|
+
## 社区 Schema
|
|
129
|
+
|
|
130
|
+
第三方 Schema 包通过独立仓库分发——提供有观点的工���流,将 OpenSpec 与其他工具集成,类似于 [github/spec-kit 的社区扩展目录](https://github.com/github/spec-kit/tree/main/extensions) 的处理方式。
|
|
131
|
+
|
|
132
|
+
→ **[浏览目录](docs/customization.md#community-schemas)** 查看自定义文档。
|
|
133
|
+
|
|
134
|
+
## 为什么选择 OpenSpec?
|
|
135
|
+
|
|
136
|
+
AI 编程助手功能强大,但当需求只存在于聊天历史中时,其输出不可预测。OpenSpec 增加了一个轻量级的规格层,让你在代码编写前就构建目标达成一致。
|
|
137
|
+
|
|
138
|
+
- **先达成一致再构建**——人类和 AI 在代码编写前对齐规格
|
|
139
|
+
- **保持有序**——每个变更拥有独立的文件夹,包含提案、规格、设计和任务
|
|
140
|
+
- **灵活工作**——随时更新任何制品,没有僵化的阶段关卡
|
|
141
|
+
- **用你习惯的工具**——通过斜杠命令与 20+ 种 AI 助手兼容
|
|
142
|
+
|
|
143
|
+
### 对比
|
|
144
|
+
|
|
145
|
+
**vs. [Spec Kit](https://github.com/github/spec-kit)** (GitHub) —— 全面但臃肿。僵化的阶段关卡、大量 Markdown、Python 环境。OpenSpec 更轻量,让你自由迭代。
|
|
146
|
+
|
|
147
|
+
**vs. [Kiro](https://kiro.dev)** (AWS) —— 功能强大,但绑定其 IDE 且仅限 Claude 模型。OpenSpec 与你现有的工具协同工作。
|
|
148
|
+
|
|
149
|
+
**vs. 什么也不用** —— 没有规格的 AI 编程意味着模糊的提示和不可预测的结果。OpenSpec 在无繁文缛节的情况下带来了可预测性。
|
|
150
|
+
|
|
151
|
+
## 更新 OpenSpec
|
|
152
|
+
|
|
153
|
+
**升级包**
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npm install -g @superkou/openspec@latest
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**刷新 Agent 指令**
|
|
160
|
+
|
|
161
|
+
在每个项目内运行以下命令,重新生成 AI 引导并确保最新的斜杠命令生效:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
openspec update
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 使用说明
|
|
168
|
+
|
|
169
|
+
**模型选择**:OpenSpec 在高推理能力模型上表现最佳。建议规划和实现均使用 Codex 5.5 和 Opus 4.7。
|
|
170
|
+
|
|
171
|
+
**上下文卫生**:OpenSpec 受益于干净的上下文窗口。在开始实现前清除上下文,并在整个会话中保持良好的上下文卫生。
|
|
172
|
+
|
|
173
|
+
## 贡献
|
|
174
|
+
|
|
175
|
+
**小修复** —— 错误修复、拼写纠正和小的改进可以直接提交 PR。
|
|
176
|
+
|
|
177
|
+
**较大变更** —— 对于新功能、重大重构或架构变更,请先提交 OpenSpec 变更提案,以便我们就意图和目标达成一致后再开始实现。
|
|
178
|
+
|
|
179
|
+
编写提案时,请牢记 OpenSpec 理念:我们服务于不同编码 Agent、模型和使用场景的广大用户。变更应对所有人都友好。
|
|
180
|
+
|
|
181
|
+
**欢迎 AI 生成的代码** —— 前提是经过测试和验证。包含 AI 生成代码的 PR 应注明使用的编码 Agent 和模型(例如"使用 Claude Code + claude-opus-4-5-20251101 生成")。
|
|
182
|
+
|
|
183
|
+
### 开发
|
|
184
|
+
|
|
185
|
+
- 安装依赖:`pnpm install`
|
|
186
|
+
- 构建:`pnpm run build`
|
|
187
|
+
- 测试:`pnpm test`
|
|
188
|
+
- 本地开发 CLI:`pnpm run dev` 或 `pnpm run dev:cli`
|
|
189
|
+
- 规范提交(一行):`type(scope): subject`
|
|
190
|
+
|
|
191
|
+
## 其他
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary><strong>遥测</strong></summary>
|
|
195
|
+
|
|
196
|
+
OpenSpec 会收集匿名使用统计。
|
|
197
|
+
|
|
198
|
+
我们仅收集命令名称和版本以了解使用模式。不会收集参数、路径、内容或个人信息。CI 环境自动禁用。
|
|
199
|
+
|
|
200
|
+
**退出方式:** `export OPENSPEC_TELEMETRY=0` 或 `export DO_NOT_TRACK=1`
|
|
201
|
+
|
|
202
|
+
</details>
|
|
203
|
+
|
|
204
|
+
<details>
|
|
205
|
+
<summary><strong>维护者与顾问</strong></summary>
|
|
206
|
+
|
|
207
|
+
上游维护者见 [MAINTAINERS.md](MAINTAINERS.md) 文件。
|
|
208
|
+
|
|
209
|
+
</details>
|
|
210
|
+
|
|
211
|
+
## 许可证
|
|
212
|
+
|
|
213
|
+
MIT
|
package/bin/openspec.js
ADDED