-
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
Merged
+5,512
−2,893
Merged
Changes from 10 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
6524c78
feat(skills): add opsx:onboard guided workflow skill
TabishB fabb916
test(skills): update skill-generation tests for onboard skill
TabishB 52c9dfa
docs: update README links and add doc cleanup checklist
TabishB c7e60b5
docs: overhaul documentation with new workflows, getting-started, and…
TabishB 80e639b
docs: continue documentation overhaul with expanded guides and restru…
TabishB 1af6653
chore(assets): consolidate logo images
TabishB 3d734c5
docs: enhance README with badges, usage notes, and contributing guide…
TabishB 53676f7
docs: remove misleading mid-flight update claims
TabishB 6f0c0eb
Merge branch 'main' into feat/add-opsx-onboard-skill
TabishB a0d98a2
docs: fix PR review comments (markdown linting and accuracy)
TabishB 1763998
chore: remove polish-release-notes CI workflow
TabishB 0a039e5
docs: clarify /opsx:sync is optional (archive prompts if needed)
TabishB ffb81b0
docs: redesign README with simplified content and new OPSX callout
TabishB 08aa2b9
docs: add README_OLD.md as reference backup
TabishB c66f274
docs: fix command directory paths for multiple tools
TabishB File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,204 @@ | ||
| <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: | ||
|
|
||
| ```text | ||
| → 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 | ||
|
|
||
| ```text | ||
| 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. | ||
| > | ||
| > 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. | ||
|
|
||
| **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** | ||
|
|
||
| Run this inside each project to regenerate AI guidance and ensure the latest slash commands are active: | ||
|
|
||
| ```bash | ||
| openspec update | ||
| ``` | ||
|
|
||
| ## Usage Notes | ||
|
|
||
| **Model selection**: OpenSpec works best with high-reasoning models. We recommend Opus 4.5 and GPT 5.2 for both planning and implementation. | ||
|
|
||
| **Context hygiene**: OpenSpec benefits from a clean context window. Clear your context before starting implementation and maintain good context hygiene throughout your session. | ||
|
|
||
| ## Contributing | ||
|
|
||
| **Small fixes** — Bug fixes, typo corrections, and minor improvements can be submitted directly as PRs. | ||
|
|
||
| **Larger changes** — For new features, significant refactors, or architectural changes, please submit an OpenSpec change proposal first so we can align on intent and goals before implementation begins. | ||
|
|
||
| When writing proposals, keep the OpenSpec philosophy in mind: we serve a wide variety of users across different coding agents, models, and use cases. Changes should work well for everyone. | ||
|
|
||
| **AI-generated code is welcome** — as long as it's been tested and verified. PRs containing AI-generated code should mention the coding agent and model used (e.g., "Generated with Claude Code using claude-opus-4-5-20251101"). | ||
|
|
||
| ### Development | ||
|
|
||
| - Install dependencies: `pnpm install` | ||
| - Build: `pnpm run build` | ||
| - Test: `pnpm test` | ||
| - Develop CLI locally: `pnpm run dev` or `pnpm run dev:cli` | ||
| - Conventional commits (one-line): `type(scope): subject` | ||
|
|
||
| ## Other | ||
|
|
||
| <details> | ||
| <summary><strong>Telemetry</strong></summary> | ||
|
|
||
| OpenSpec collects anonymous usage stats. | ||
|
|
||
| We collect only command names and version to understand usage patterns. No arguments, paths, content, or PII. Automatically disabled in CI. | ||
|
|
||
| **Opt-out:** `export OPENSPEC_TELEMETRY=0` or `export DO_NOT_TRACK=1` | ||
|
|
||
| </details> | ||
|
|
||
| <details> | ||
| <summary><strong>Maintainers & Advisors</strong></summary> | ||
|
|
||
| See [MAINTAINERS.md](MAINTAINERS.md) for the list of core maintainers and advisors who help guide the project. | ||
|
|
||
| </details> | ||
|
|
||
|
|
||
|
|
||
| ## License | ||
|
|
||
| MIT | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use headings instead of bold lines for section structure.
Markdownlint MD036 flags bold text used as headings; convert these to actual headings for consistency.
🧹 Suggested tweak
📝 Committable suggestion
🧰 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