{
  "markdown": "<p align=\"center\">\n  <a href=\"https://github.com/Fission-AI/OpenSpec\">\n    <picture>\n      <source srcset=\"assets/openspec_bg.png\">\n      <img src=\"assets/openspec_bg.png\" alt=\"OpenSpec logo\">\n    </picture>\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/Fission-AI/OpenSpec/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://github.com/Fission-AI/OpenSpec/actions/workflows/ci.yml/badge.svg\" /></a>\n  <a href=\"https://www.npmjs.com/package/@fission-ai/openspec\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@fission-ai/openspec?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  <a href=\"https://discord.gg/YctCnvvshC\"><img alt=\"Discord\" src=\"https://img.shields.io/discord/1411657095639601154?style=flat-square&logo=discord&logoColor=white&label=Discord&suffix=%20online\" /></a>\n</p>\n\n<details>\n<summary><strong>The most loved spec framework.</strong></summary>\n\n[![Stars](https://img.shields.io/github/stars/Fission-AI/OpenSpec?style=flat-square&label=Stars)](https://github.com/Fission-AI/OpenSpec/stargazers)\n[![Downloads](https://img.shields.io/npm/dm/@fission-ai/openspec?style=flat-square&label=Downloads/mo)](https://www.npmjs.com/package/@fission-ai/openspec)\n[![Contributors](https://img.shields.io/github/contributors/Fission-AI/OpenSpec?style=flat-square&label=Contributors)](https://github.com/Fission-AI/OpenSpec/graphs/contributors)\n\n</details>\n<p></p>\nOur philosophy:\n\n```text\n→ fluid not rigid\n→ iterative not waterfall\n→ easy not complex\n→ built for brownfield not just greenfield\n→ scalable from personal projects to enterprises\n```\n\n> [!TIP]\n> **New workflow now available!** We've rebuilt OpenSpec with a new artifact-guided workflow.\n>\n> Run `/opsx:propose \"your idea\"` to get started. → [Learn more here](docs/opsx.md)\n\n<p align=\"center\">\n  Follow <a href=\"https://x.com/0xTab\">@0xTab on X</a> for updates · Join the <a href=\"https://discord.gg/YctCnvvshC\">OpenSpec Discord</a> for help and questions.\n</p>\n\n<!-- TODO: Add GIF demo of /opsx:propose → /opsx:archive workflow -->\n\n## See it in action\n\n```text\nYou: /opsx:explore\nAI:  What would you like to explore?\nYou: I want dark mode but I'm not sure how to do it cleanly.\nAI:  Let me look at your styling setup...\n     Cleanest path here: CSS variables + a small theme context,\n     with system-preference detection. No new dependencies. Scope it?\nYou: Yes, let's do it.\n\nYou: /opsx:propose add-dark-mode\nAI:  Created openspec/changes/add-dark-mode/\n     ✓ proposal.md — why we're doing this, what's changing\n     ✓ specs/       — requirements and scenarios\n     ✓ design.md    — technical approach\n     ✓ tasks.md     — implementation checklist\n     Ready for implementation!\n\nYou: /opsx:apply\nAI:  Implementing tasks...\n     ✓ 1.1 Add theme context provider\n     ✓ 1.2 Create toggle component\n     ✓ 2.1 Add CSS variables\n     ✓ 2.2 Wire up localStorage\n     All tasks complete!\n\nYou: /opsx:archive\nAI:  Archived to openspec/changes/archive/2025-01-23-add-dark-mode/\n     Specs updated. Ready for the next feature.\n```\n\n<details>\n<summary><strong>What do the specs actually look like?</strong></summary>\n\nPlain Markdown — requirements with concrete scenarios, no special syntax to learn. Here's what goes in the `specs/` folder created above:\n\n```markdown\n## ADDED Requirements\n\n### Requirement: Theme selection\nThe app SHALL let users switch between light and dark themes,\ndefaulting to the system preference.\n\n#### Scenario: User toggles dark mode\n- **WHEN** the user clicks the theme toggle\n- **THEN** the app switches to dark mode and persists the choice\n```\n\nYour AI writes these; you review the plan before any code is written.\n\nOpenSpec is built with OpenSpec — browse this repo's live [specs](openspec/specs) and in-flight [changes](openspec/changes) for real examples at scale.\n\n</details>\n\n<details>\n<summary><strong>OpenSpec Dashboard</strong></summary>\n\n<p align=\"center\">\n  <img src=\"assets/openspec_dashboard.png\" alt=\"OpenSpec dashboard preview\" width=\"90%\">\n</p>\n\n</details>\n\n## Why teams adopt OpenSpec\n\nSolo, OpenSpec keeps you and your AI honest on a single repo. On a team, the hard part moves: a feature spans the API server, the web app, and a shared library; requirements are owned by one team and consumed by others; planning starts before any code exists.\n\n**[Stores](docs/stores-beta/user-guide.md)** are the answer — planning in a repo of its own. The same `openspec/` shape you already know (specs and changes), shared by `git push` like anything else. One source of truth your whole team and every coding agent can read, across every repo.\n\n- **Cross-repo features** — one change, one plan, even when the code lands in three repos.\n- **Shared requirements** — a platform team owns the specs; product teams reference them read-only, right where their coding agent can read them. No drifting wiki.\n- **Plan before code** — capture the plan in the store now; the code repos catch up later.\n\n> Stores are in **beta**. Start with the [Stores User Guide](docs/stores-beta/user-guide.md).\n\n## Quick Start\n\n**Requires Node.js 20.19.0 or higher.**\n\nInstall OpenSpec globally:\n\n```bash\nnpm install -g @fission-ai/openspec@latest\n```\n\nThen navigate to your project directory and initialize:\n\n```bash\ncd your-project\nopenspec init\n```\n\n> **Want your AI to do it?** Paste the [setup prompt](docs/installation.md#install-with-your-ai-assistant) into your coding assistant — it installs the CLI, runs `openspec init`, and verifies the result.\n\nNow talk to your AI:\n\n- **Not sure what to build yet?** Start with `/opsx:explore`, a no-stakes thinking partner that reads your code, weighs options, and shapes a plan before anything is written. ([Explore guide](docs/explore.md))\n- **Already know what you want?** Go straight to `/opsx:propose <what-you-want-to-build>`.\n\nBoth are in the default profile. If you want the expanded workflow (`/opsx:new`, `/opsx:continue`, `/opsx:ff`, `/opsx:verify`, `/opsx:bulk-archive`, `/opsx:onboard`), select it with `openspec config profile` and apply with `openspec update`.\n\n`/opsx:propose` is the canonical name; your tool may spell it `/opsx-propose` (Cursor, GitHub Copilot), `@opsx-propose` (Amazon Q) or `$openspec-propose` (Codex). `openspec init` prints the right form for the tools you picked — see [How To Invoke](docs/supported-tools.md#how-to-invoke).\n\n> [!NOTE]\n> Not sure if your tool is supported? [View the full list](docs/supported-tools.md) – we support 30+ tools and growing.\n>\n> Also works with pnpm, yarn, bun, and nix. [See installation options](docs/installation.md).\n\n## Docs\n\n**Start here:** the **[Documentation Home](docs/README.md)** maps everything. New to OpenSpec? Read [Getting Started](docs/getting-started.md), then [How Commands Work](docs/how-commands-work.md) (where you actually type `/opsx:propose`).\n\n→ **[Getting Started](docs/getting-started.md)**: first steps<br>\n→ **[Explore First](docs/explore.md)**: think it through with `/opsx:explore` before you commit<br>\n→ **[How Commands Work](docs/how-commands-work.md)**: where slash commands run vs the CLI<br>\n→ **[Core Concepts at a Glance](docs/overview.md)**: the whole mental model, one page<br>\n→ **[Examples & Recipes](docs/examples.md)**: real changes, start to finish<br>\n→ **[Workflows](docs/workflows.md)**: combos and patterns<br>\n→ **[Existing Projects](docs/existing-projects.md)**: adopt OpenSpec on a brownfield codebase<br>\n→ **[Editing a Change](docs/editing-changes.md)**: update artifacts, go back, reconcile manual edits<br>\n→ **[Commands](docs/commands.md)**: slash commands & skills<br>\n→ **[CLI](docs/cli.md)**: terminal reference<br>\n→ **[Stores](docs/stores-beta/user-guide.md)**: plan in a separate repo, shared across your team (beta)<br>\n→ **[Supported Tools](docs/supported-tools.md)**: tool integrations & install paths<br>\n→ **[Concepts](docs/concepts.md)**: how it all fits<br>\n→ **[Multi-Language](docs/multi-language.md)**: multi-language support<br>\n→ **[Customization](docs/customization.md)**: make it yours<br>\n→ **[Community Showcase](docs/community.md)**: projects and resources built with and for OpenSpec<br>\n→ **[FAQ](docs/faq.md)** · **[Troubleshooting](docs/troubleshooting.md)** · **[Glossary](docs/glossary.md)**: quick help\n\n\n## Community schemas\n\nThird-party schema bundles distributed via standalone repositories — these provide opinionated workflows that integrate OpenSpec with other tools, similar to how [github/spec-kit's community extension catalog](https://github.com/github/spec-kit/tree/main/extensions) handles tool integrations.\n\n→ **[Browse the catalog](docs/customization.md#community-schemas)** in the customization docs.\n\n\n## Why OpenSpec?\n\nAI coding assistants are powerful but unpredictable when requirements live only in chat history. OpenSpec adds a lightweight spec layer so you agree on what to build before any code is written.\n\n- **Agree before you build** — human and AI align on specs before code gets written\n- **Stay organized** — each change gets its own folder with proposal, specs, design, and tasks\n- **Work fluidly** — update any artifact anytime, no rigid phase gates\n- **Use your tools** — works with 30+ AI assistants via slash commands\n\n### How we compare\n\n**vs. [Spec Kit](https://github.com/github/spec-kit)** (GitHub) — Thorough but heavyweight. Rigid phase gates, lots of Markdown, Python setup. OpenSpec is lighter and lets you iterate freely.\n\n**vs. [Kiro](https://kiro.dev)** (AWS) — Powerful but you're locked into their IDE and limited to Claude models. OpenSpec works with the tools you already use.\n\n**vs. nothing** — AI coding without specs means vague prompts and unpredictable results. OpenSpec brings predictability without the ceremony.\n\n## Updating OpenSpec\n\n**Upgrade the package**\n\n```bash\nnpm install -g @fission-ai/openspec@latest\n```\n\n**Refresh agent instructions**\n\nRun this inside each project to regenerate AI guidance and ensure the latest slash commands are active:\n\n```bash\nopenspec update\n```\n\n## Usage Notes\n\n**Model selection**: OpenSpec works best with high-reasoning models. We recommend Codex 5.5 and Opus 4.7 for both planning and implementation.\n\n**Context hygiene**: OpenSpec benefits from a clean context window. Clear your context before starting implementation and maintain good context hygiene throughout your session.\n\n## Contributing\n\nOpen a discussion (for core design changes) or an issue before you open a PR, and link the issue or discussion from the PR. New features, significant refactors, and architectural changes need an OpenSpec change proposal first.\n\n→ **[CONTRIBUTING.md](CONTRIBUTING.md)**: the full process, from first issue to merged PR\n\n## Other\n\n<details>\n<summary><strong>Telemetry</strong></summary>\n\nOpenSpec collects anonymous usage stats.\n\nWe collect only command names and version to understand usage patterns. No arguments, paths, content, or PII. Automatically disabled in CI.\n\n**Opt-out (any one is enough):**\n- `openspec config set telemetry.enabled false` (global config; unset means on)\n- `export OPENSPEC_TELEMETRY=0` or `export DO_NOT_TRACK=1` (env overrides config)\n\n</details>\n\n<details>\n<summary><strong>Maintainers & Advisors</strong></summary>\n\nSee [MAINTAINERS.md](MAINTAINERS.md) for the list of core maintainers and advisors who help guide the project.\n\n</details>\n\n\n\n## License\n\nMIT\n",
  "bytes": 11405,
  "sha": "e21547114b61e472950eecb70feea89f440f1d0c5282b0179f4b17474faad545",
  "repo_slug": "fission-ai/openspec",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_fission_ai_openspec_openspec_update_chan_501c0a01/readme"
}