mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
5a4837c37d
* feat: add CLI e2e testing improvement plan ## Summary - Add phased approach to stabilize CLI spawn testing - Expand cross-shell/OS matrix coverage when stable - Optional packaging validation for CI environments * feat: add markdown parser CRLF fix proposal and update e2e plan - Add comprehensive proposal for fixing CRLF parsing issues on Windows - Update CLI path references from dist/cli.js to dist/cli/index.js - Streamline e2e testing tasks based on refined approach * fix: correct spec delta to add parsing requirement instead of modifying remediation - Change from MODIFIED to ADDED Requirements for cross-platform line ending parsing - Create focused requirement for parser behavior rather than validation messages - Maintain logical coherence between requirement and scenario
1.3 KiB
1.3 KiB
1. Phase 1 – Stabilize Local Spawn Coverage
- 1.1 Update
vitest.setup.tsand helpers so the CLI build runs once andrunCLIexecutesnode dist/cli.jswith non-TTY defaults. - 1.2 Reuse the minimal fixture set (
tmp-initor copy) to seed initial spawn tests for help/version, a happy-pathvalidate, and a representative error flow. - 1.3 Document the Phase 1 coverage details in
CROSS-SHELL-PLAN.md, noting any outstanding gaps.
2. Phase 2 – Expand Cross-Shell Validation
- 2.1 Exercise both entry points (
node dist/cli.js,bin/openspec.js) in the spawn suite and add diagnostics for shell/OS context. - 2.2 Extend GitHub Actions to run the spawn suite across a matrix of shells (bash, zsh, fish, pwsh, cmd) on macOS, Linux, and Windows runners.
3. Phase 3 – Package Validation (Optional)
- 3.1 Add a simple CI job on runners with registry access that runs
pnpm pack, installs the tarball into a temp workspace (e.g.,pnpm add --no-save), and executespnpm exec openspec --version. - 3.2 If network-restricted environments can’t exercise installs, document the limitation in
CROSS-SHELL-PLAN.mdand skip the job there. - 3.3 Close out remaining hardening items from the original cross-shell plan (e.g.,
.gitattributes, chmod enforcement, SIGINT follow-ups) and update the plan accordingly.