-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: onboarding skill and comprehensive documentation overhaul #574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 7 commits
6524c78
fabb916
52c9dfa
c7e60b5
80e639b
1af6653
3d734c5
53676f7
6f0c0eb
a0d98a2
1763998
0a039e5
ffb81b0
08aa2b9
c66f274
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,205 @@ | ||||||||||||||||||||
| <p align="center"> | ||||||||||||||||||||
| <a href="https://github.com/Fission-AI/OpenSpec"> | ||||||||||||||||||||
| <picture> | ||||||||||||||||||||
| <source srcset="assets/openspec_bg.png"> | ||||||||||||||||||||
| <img src="assets/openspec_bg.png" alt="OpenSpec logo"> | ||||||||||||||||||||
| </picture> | ||||||||||||||||||||
| </a> | ||||||||||||||||||||
| </p> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <p align="center"> | ||||||||||||||||||||
| <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> | ||||||||||||||||||||
| <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> | ||||||||||||||||||||
| <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a> | ||||||||||||||||||||
| <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> | ||||||||||||||||||||
| </p> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <details> | ||||||||||||||||||||
| <summary><strong>The most loved spec framework.</strong></summary> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| [](https://github.com/Fission-AI/OpenSpec/stargazers) | ||||||||||||||||||||
| [](https://www.npmjs.com/package/@fission-ai/openspec) | ||||||||||||||||||||
| [](https://github.com/Fission-AI/OpenSpec/graphs/contributors) | ||||||||||||||||||||
|
|
||||||||||||||||||||
| </details> | ||||||||||||||||||||
| <p></p> | ||||||||||||||||||||
| Our philosophy: | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ``` | ||||||||||||||||||||
| → fluid not rigid | ||||||||||||||||||||
| → iterative not waterfall | ||||||||||||||||||||
| → easy not complex | ||||||||||||||||||||
| → built for brownfield not just greenfield | ||||||||||||||||||||
| → scalable from personal projects to enterprises | ||||||||||||||||||||
| ``` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| > [!TIP] | ||||||||||||||||||||
| > **New workflow now available!** We've rebuilt OpenSpec with a new artifact-guided workflow. | ||||||||||||||||||||
| > | ||||||||||||||||||||
| > Run `/opsx:onboard` to get started. → [Learn more here](docs/opsx.md) | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <p align="center"> | ||||||||||||||||||||
| 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. | ||||||||||||||||||||
| </p> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ### Teams | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Using OpenSpec in a team? [Email here](mailto:[email protected]) for access to our Slack channel. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <!-- TODO: Add GIF demo of /opsx:new → /opsx:archive workflow --> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## See it in action | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ``` | ||||||||||||||||||||
| You: /opsx:new add-dark-mode | ||||||||||||||||||||
| AI: Created openspec/changes/add-dark-mode/ | ||||||||||||||||||||
| Ready to create: proposal | ||||||||||||||||||||
|
|
||||||||||||||||||||
| You: /opsx:ff # "fast-forward" - generate all planning docs | ||||||||||||||||||||
| AI: ✓ proposal.md — why we're doing this, what's changing | ||||||||||||||||||||
| ✓ specs/ — requirements and scenarios | ||||||||||||||||||||
| ✓ design.md — technical approach | ||||||||||||||||||||
| ✓ tasks.md — implementation checklist | ||||||||||||||||||||
| Ready for implementation! | ||||||||||||||||||||
|
|
||||||||||||||||||||
| You: /opsx:apply | ||||||||||||||||||||
| AI: Implementing tasks... | ||||||||||||||||||||
| ✓ 1.1 Add theme context provider | ||||||||||||||||||||
| ✓ 1.2 Create toggle component | ||||||||||||||||||||
| ✓ 2.1 Add CSS variables | ||||||||||||||||||||
| ✓ 2.2 Wire up localStorage | ||||||||||||||||||||
| All tasks complete! | ||||||||||||||||||||
|
|
||||||||||||||||||||
| You: /opsx:archive | ||||||||||||||||||||
| AI: Archived to openspec/changes/archive/2025-01-23-add-dark-mode/ | ||||||||||||||||||||
| Specs updated. Ready for the next feature. | ||||||||||||||||||||
| ``` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <details> | ||||||||||||||||||||
| <summary><strong>OpenSpec Dashboard</strong></summary> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| <p align="center"> | ||||||||||||||||||||
| <img src="assets/openspec_dashboard.png" alt="OpenSpec dashboard preview" width="90%"> | ||||||||||||||||||||
| </p> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| </details> | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Quick Start | ||||||||||||||||||||
|
|
||||||||||||||||||||
| **Requires Node.js 20.19.0 or higher.** | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Install OpenSpec globally: | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ```bash | ||||||||||||||||||||
| npm install -g @fission-ai/openspec@latest | ||||||||||||||||||||
| ``` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Then navigate to your project directory and initialize: | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ```bash | ||||||||||||||||||||
| cd your-project | ||||||||||||||||||||
| openspec init | ||||||||||||||||||||
| ``` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Now tell your AI: `/opsx:new <what-you-want-to-build>` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| > [!NOTE] | ||||||||||||||||||||
| > Not sure if your tool is supported? [View the full list](docs/supported-tools.md) – we support 20+ tools and growing. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| > [!NOTE] | ||||||||||||||||||||
| > Also works with pnpm, yarn, bun, and nix. [See installation options](docs/installation.md). | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Docs | ||||||||||||||||||||
|
|
||||||||||||||||||||
| → **[Getting Started](docs/getting-started.md)**: first steps<br> | ||||||||||||||||||||
| → **[Workflows](docs/workflows.md)**: combos and patterns<br> | ||||||||||||||||||||
| → **[Commands](docs/commands.md)**: slash commands & skills<br> | ||||||||||||||||||||
| → **[CLI](docs/cli.md)**: terminal reference<br> | ||||||||||||||||||||
| → **[Supported Tools](docs/supported-tools.md)**: tool integrations & install paths<br> | ||||||||||||||||||||
| → **[Concepts](docs/concepts.md)**: how it all fits<br> | ||||||||||||||||||||
| → **[Multi-Language](docs/multi-language.md)**: multi-language support<br> | ||||||||||||||||||||
| → **[Customization](docs/customization.md)**: make it yours | ||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Why OpenSpec? | ||||||||||||||||||||
|
|
||||||||||||||||||||
| AI 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. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| - **Agree before you build** — human and AI align on specs before code gets written | ||||||||||||||||||||
| - **Stay organized** — each change gets its own folder with proposal, specs, design, and tasks | ||||||||||||||||||||
| - **Work fluidly** — update any artifact anytime, no rigid phase gates | ||||||||||||||||||||
| - **Use your tools** — works with 20+ AI assistants via slash commands | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ### How we compare | ||||||||||||||||||||
|
|
||||||||||||||||||||
| **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. | ||||||||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| **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. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| **vs. nothing** — AI coding without specs means vague prompts and unpredictable results. OpenSpec brings predictability without the ceremony. | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ## Updating OpenSpec | ||||||||||||||||||||
|
|
||||||||||||||||||||
| **Upgrade the package** | ||||||||||||||||||||
|
|
||||||||||||||||||||
| ```bash | ||||||||||||||||||||
| npm install -g @fission-ai/openspec@latest | ||||||||||||||||||||
| ``` | ||||||||||||||||||||
|
|
||||||||||||||||||||
| **Refresh agent instructions** | ||||||||||||||||||||
|
||||||||||||||||||||
| **Upgrade the package** | |
| ```bash | |
| npm install -g @fission-ai/openspec@latest | |
| ``` | |
| **Refresh agent instructions** | |
| ### Upgrade the package | |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
142-142: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
148-148: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🤖 Prompt for AI Agents
In `@README_NEW.md` around lines 142 - 148, Replace bolded lines used as section
titles (e.g., "**Upgrade the package**" and "**Refresh agent instructions**")
with proper markdown headings (e.g., "## Upgrade the package" or "### Upgrade
the package" depending on desired hierarchy) so they are recognized as headings
by markdownlint MD036; update both occurrences in the snippet to use the
appropriate '#' heading syntax and preserve the following code block and
content.
Uh oh!
There was an error while loading. Please reload this page.