{"_id":"@appboypov/open-splx","name":"@appboypov/open-splx","dist-tags":{"latest":"0.18.0"},"versions":{"0.18.0":{"name":"@appboypov/open-splx","version":"0.18.0","description":"AI-native system for spec-driven development","keywords":["splx","OpenSplx","specs","cli","ai","development"],"homepage":"https://github.com/appboypov/OpenSplx","repository":{"type":"git","url":"git+https://github.com/appboypov/OpenSplx.git"},"license":"MIT","author":{"name":"OpenSplx Contributors"},"type":"module","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"bin":{"splx":"bin/splx.js"},"scripts":{"lint":"eslint src/","build":"node build.js","dev":"tsc --watch","dev:cli":"pnpm build && node bin/splx.js","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage","test:postinstall":"node scripts/postinstall.js","prepare":"pnpm run build","prepublishOnly":"pnpm run build","postinstall":"node scripts/postinstall.js","check:pack-version":"node scripts/pack-version-check.mjs","release":"pnpm run release:ci","release:ci":"pnpm run check:pack-version && pnpm exec changeset publish","release:local":"pnpm exec changeset version && pnpm run check:pack-version && pnpm exec changeset publish","changeset":"changeset"},"engines":{"node":">=20.19.0"},"devDependencies":{"@changesets/cli":"^2.27.7","@types/node":"^24.2.0","@vitest/ui":"^3.2.4","eslint":"^9.39.2","typescript":"^5.9.3","typescript-eslint":"^8.50.1","vitest":"^3.2.4"},"dependencies":{"@inquirer/core":"^10.2.2","@inquirer/prompts":"^7.8.0","chalk":"^5.5.0","commander":"^14.0.0","ignore":"^7.0.5","ora":"^8.2.0","zod":"^4.0.17"},"_id":"@appboypov/open-splx@0.18.0","gitHead":"59accfefda15b20711faf5db888c0f85d8ca4347","bugs":{"url":"https://github.com/appboypov/OpenSplx/issues"},"_nodeVersion":"24.1.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-NlHXJQElVKIKwYVMBFGMMlmQctn5oPonXVUZar/RY790nC6V/3+mnQHDrCeSaOkDqVuMXyw9Ou1GUFztH0IxXA==","shasum":"161643d1818b3203bf9eb2d402762afd637a1f55","tarball":"https://registry.npmjs.org/@appboypov/open-splx/-/open-splx-0.18.0.tgz","fileCount":249,"unpackedSize":1021923,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCtnV4VAbv9ZaiCgdqKQ6rvzE6WDJ2N/dg7mcUhndMYtAIhAKWXStefG9XM1CKVirA1dUMAd6Stc4FuFW5X/4n5h7VJ"}]},"_npmUser":{"name":"appboypov","email":"info@codaveto.com"},"directories":{},"maintainers":[{"name":"appboypov","email":"info@codaveto.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/open-splx_0.18.0_1768248792265_0.2262968583408329"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T20:13:12.185Z","0.18.0":"2026-01-12T20:13:12.449Z","modified":"2026-01-12T20:13:12.712Z"},"maintainers":[{"name":"appboypov","email":"info@codaveto.com"}],"description":"AI-native system for spec-driven development","homepage":"https://github.com/appboypov/OpenSplx","keywords":["splx","OpenSplx","specs","cli","ai","development"],"repository":{"type":"git","url":"git+https://github.com/appboypov/OpenSplx.git"},"author":{"name":"OpenSplx Contributors"},"bugs":{"url":"https://github.com/appboypov/OpenSplx/issues"},"license":"MIT","readme":"<p align=\"center\">OpenSpec-driven development for AI coding assistants.</p>\n<p align=\"center\">\n  <a href=\"https://github.com/Fission-AI/OpenSpec\"><img alt=\"Fork of OpenSpec\" src=\"https://img.shields.io/badge/Fork%20of-OpenSpec-blue?style=flat-square\" /></a>\n  <a href=\"https://www.npmjs.com/package/@appboypov/OpenSplx\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@appboypov/OpenSplx?style=flat-square\" /></a>\n  <a href=\"https://nodejs.org/\"><img alt=\"node version\" src=\"https://img.shields.io/node/v/@appboypov/OpenSplx?style=flat-square\" /></a>\n  <a href=\"./LICENSE\"><img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square\" /></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"assets/hero.png\" alt=\"OpenSplx dashboard preview\" width=\"90%\">\n</p>\n\n# OpenSplx\n\nOpenSplx aligns humans and AI coding assistants with spec-driven development. Agree on what to build before any code is written. **No API keys required.**\n\n> Fork of [OpenSpec](https://github.com/Fission-AI/OpenSpec) with extended task management, review workflows, and automatic migration from OpenSpec projects.\n\n## Installation\n\n```bash\nnpm install -g @appboypov/OpenSplx\nsplx --version\n```\n\n**Prerequisites:** Node.js >= 20.19.0\n\n## Quick Start\n\n```bash\ncd my-project\nsplx init\n```\n\nThis creates the `workspace/` directory structure and configures slash commands for your AI tools.\n\n## How It Works\n\n```\n1. Draft    → Create a change proposal capturing spec updates\n2. Review   → Iterate with your AI until everyone agrees\n3. Implement → AI works through tasks referencing agreed specs\n4. Archive  → Merge approved updates into source-of-truth specs\n```\n\n## Commands\n\n### Navigation & Listing\n\n| Command | Description |\n|---------|-------------|\n| `splx get changes` | List active changes |\n| `splx get specs` | List specifications |\n| `splx get reviews` | List active reviews |\n| `splx view` | Interactive dashboard |\n\n**Note:** `splx list` is deprecated. Use `splx get changes`, `splx get specs`, or `splx get reviews` instead.\n\n### Task Management\n\n| Command | Description |\n|---------|-------------|\n| `splx get task` | Get next prioritized task |\n| `splx get task --id <id>` | Get specific task |\n| `splx get task --did-complete-previous` | Complete current, get next |\n| `splx get task --constraints` | Show only Constraints |\n| `splx get task --acceptance-criteria` | Show only Acceptance Criteria |\n| `splx get tasks` | List all open tasks |\n| `splx complete task --id <id>` | Mark task done |\n| `splx complete change --id <id>` | Complete all tasks in change |\n| `splx undo task --id <id>` | Revert task to to-do |\n| `splx undo change --id <id>` | Revert all tasks in change |\n\n### Item Retrieval\n\n| Command | Description |\n|---------|-------------|\n| `splx get change --id <id>` | Get change by ID |\n| `splx get spec --id <id>` | Get spec by ID |\n| `splx get review --id <id>` | Get review by ID |\n\n**Note:** `splx show` is deprecated. Use `splx get change --id <id>` or `splx get spec --id <id>` instead.\n\n### Review System\n\n| Command | Description |\n|---------|-------------|\n| `splx review change --id <id>` | Review a change |\n| `splx review spec --id <id>` | Review a spec |\n| `splx review task --id <id>` | Review a task |\n| `splx parse feedback <name> --parent-id <id> --parent-type change|spec|task` | Parse feedback markers |\n\n### Draft Management\n\n| Command | Description |\n|---------|-------------|\n| `splx paste request` | Paste clipboard content as draft request |\n\n### Validation & Archival\n\n| Command | Description |\n|---------|-------------|\n| `splx validate change --id <id>` | Validate specific change |\n| `splx validate changes` | Validate all changes |\n| `splx validate spec --id <id>` | Validate specific spec |\n| `splx validate specs` | Validate all specs |\n| `splx validate all` | Validate everything |\n| `splx archive change --id <id>` | Archive completed change |\n| `splx archive review --id <id>` | Archive completed review |\n\n### Configuration\n\n| Command | Description |\n|---------|-------------|\n| `splx config path` | Show config file location |\n| `splx config list` | Show all settings |\n| `splx update` | Refresh instruction files |\n| `splx upgrade` | Upgrade CLI to latest version |\n| `splx upgrade --check` | Check for updates without installing |\n\n### Subdirectory Support\n\nAll OpenSplx commands work from any subdirectory within a project. The CLI automatically finds the project root by scanning upward for `workspace/AGENTS.md`.\n\n### Multi-Workspace (Monorepo)\n\n| Command | Description |\n|---------|-------------|\n| `splx get changes --workspace <name>` | Filter to specific workspace |\n| `splx get task --workspace <name>` | Get task from specific workspace |\n| `splx validate all --workspace <name>` | Validate specific workspace |\n\nIn monorepos, items display with project prefixes (e.g., `project-a/add-feature`). Use `--workspace` to filter operations.\n\n### Transfer (Cross-Workspace)\n\n| Command | Description |\n|---------|-------------|\n| `splx transfer change --id <id> --target <path>` | Move change and linked tasks |\n| `splx transfer spec --id <id> --target <path>` | Move spec and related changes |\n| `splx transfer task --id <id> --target <path>` | Move single task |\n| `splx transfer review --id <id> --target <path>` | Move review and linked tasks |\n| `splx transfer request --id <id> --target <path>` | Move request to target change |\n\nTransfer options: `--source <path>`, `--target-name <name>`, `--dry-run`, `--yes`, `--json`.\n\n## Task Structure\n\nTasks are stored centrally in `workspace/tasks/` as numbered files:\n\n```\nworkspace/tasks/\n├── 001-add-feature-implement.md          # Parented task (linked to change)\n├── 002-add-feature-review.md             # Parented task (linked to change)\n├── 003-standalone-task.md                # Standalone task\n└── archive/                              # Archived tasks\n    └── 001-completed-task.md\n```\n\n**Task Filename Patterns:**\n- **Parented tasks**: `NNN-<parent-id>-<kebab-case-name>.md` (e.g., `001-add-feature-implement.md`)\n- **Standalone tasks**: `NNN-<kebab-case-name>.md` (e.g., `003-standalone-task.md`)\n\nEach task uses YAML frontmatter for status, skill-level, and parent linking:\n\n```yaml\n---\nstatus: to-do  # or: in-progress, done\nskill-level: medior  # or: junior, senior (optional, guides AI model selection)\nparent-type: change  # or: review, spec (optional, for parented tasks)\nparent-id: add-feature  # optional, for parented tasks\n---\n```\n\n**Prioritization:** Changes with highest completion percentage are prioritized first. Within a change, the first `to-do` or `in-progress` task is selected.\n\n**Auto-completion:** When all Implementation Checklist items are checked, the task is automatically marked `done` and the next task begins.\n\n## Review Workflow\n\nAdd inline feedback markers during code review:\n\n```typescript\n// #FEEDBACK #TODO | Validate input before processing\n```\n\n```python\n# #FEEDBACK #TODO | Add error handling here\n```\n\n```html\n<!-- #FEEDBACK #TODO | Missing accessibility attributes -->\n```\n\nFor parent-linked feedback, include parent type and ID in the marker:\n\n```typescript\n// #FEEDBACK #TODO | change:add-feature | Validate input before processing\n// #FEEDBACK #TODO | spec:user-auth | Update validation logic\n```\n\nParse markers with: `splx parse feedback review-name --parent-id <id> --parent-type change|spec|task`\n\n## Slash Commands\n\nWhen you run `splx init`, these commands are installed for supported AI tools:\n\n- `/splx/plan-request` - Clarify intent via iterative yes/no questions\n- `/splx/plan-proposal` - Scaffold change proposal (auto-consumes request.md)\n- `/splx/plan-implementation` - Generate workspace/PROGRESS.md for multi-agent task handoff\n- `/splx/get-task` - Get next prioritized task\n- `/splx/copy-next-task` - Copy next task or feedback block to clipboard\n- `/splx/copy-review-request` - Copy review request with workspace/REVIEW.md guidelines to clipboard\n- `/splx/copy-test-request` - Copy test request with workspace/TESTING.md configuration to clipboard\n- `/splx/complete-task` - Mark task as done\n- `/splx/undo-task` - Revert task to to-do\n- `/splx/implement` - Implement current task with guided workflow\n- `/splx/orchestrate` - Coordinate sub-agents for multi-task work\n- `/splx/refine-architecture` - Create or update `workspace/ARCHITECTURE.md` with spec-ready component inventories\n- `/splx/refine-review` - Create or update `workspace/REVIEW.md` template\n- `/splx/refine-release` - Create or update `workspace/RELEASE.md` template\n- `/splx/refine-testing` - Create or update `workspace/TESTING.md` template\n- `/splx/test` - Run tests based on scope (change, task, or spec)\n- `/splx/review` - Review implementations\n- `/splx/parse-feedback` - Parse feedback markers\n- `/splx/prepare-release` - Guided release preparation workflow\n- `/splx/prepare-compact` - Preserve session progress in workspace/PROGRESS.md\n- `/splx/sync-workspace` - Sync workspace state across changes\n\n## Supported AI Tools\n\n<details>\n<summary><strong>Native Slash Commands</strong></summary>\n\n| Tool | Command Format |\n|------|----------------|\n| Amazon Q Developer | `splx-plan-proposal`, `splx-implement`, `splx-archive` |\n| Antigravity | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Auggie (Augment CLI) | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Claude Code | `/splx:plan-proposal`, `/splx:implement`, `/splx:archive` |\n| Cline | Workflows in `.clinerules/workflows/` |\n| CodeBuddy Code | `/splx:plan-proposal`, `/splx:implement`, `/splx:archive` |\n| Codex | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| CoStrict | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Crush | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Cursor | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Factory Droid | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Gemini CLI | `/splx:plan-proposal`, `/splx:implement`, `/splx:archive` |\n| GitHub Copilot | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| iFlow | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Kilo Code | `/splx-plan-proposal.md`, `/splx-implement.md`, `/splx-archive.md` |\n| OpenCode | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Qoder | `/splx:plan-proposal`, `/splx:implement`, `/splx:archive` |\n| Qwen Code | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| RooCode | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n| Windsurf | `/splx-plan-proposal`, `/splx-implement`, `/splx-archive` |\n\n</details>\n\n<details>\n<summary><strong>AGENTS.md Compatible</strong></summary>\n\nTools that read workflow instructions from `workspace/AGENTS.md`:\n\nAmp, Jules, and others following the [AGENTS.md convention](https://agents.md/).\n\n</details>\n\n## Contributing\n\n```bash\npnpm install\npnpm run build\npnpm test\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-9007b7a32670c4d03d1eda8bb0c63c8a"}