diff --git a/.github/AI_POLICY.md b/.github/AI_POLICY.md index 40a1d4d7c..add017f34 100644 --- a/.github/AI_POLICY.md +++ b/.github/AI_POLICY.md @@ -14,6 +14,14 @@ The contributor — not the AI — is the author of the contribution. Using an L The LLM types for you. It doesn't think for you. +## Recommended tooling + +If you're using an AI coding agent, install [OpenSpec](https://openspec.dev/) (`npm install -g @fission-ai/openspec@latest`, then `openspec init`) and use its spec-driven workflow (`/opsx:propose` → `/opsx:apply`) to scope the change into a reviewable proposal + spec + tasks *before* any code gets written. `openspec init` provisions the matching skills/commands locally — see [`AGENTS.md`](../AGENTS.md#skill-routing). + +These skills are not installed in this repo — `.agents/skills/openspec-*`, and `.agents/commands/opsx/` are generated on your own machine by `openspec init` and must never be committed. Provision them locally, keep them out of your diffs and PRs. + +Scoping the change up front makes it easier to meet the ownership expectations above: you review and understand the plan before the AI starts typing, instead of reverse-engineering intent from a pile of already-generated code. + ## Disclosure You are encouraged (but not required) to disclose when AI tools contributed to your work. A short note in the PR description is enough — e.g. *"Tests were initially drafted with an LLM and then reviewed and adjusted by me."* diff --git a/.gitignore b/.gitignore index 10bbad3e8..daf2d67a2 100644 --- a/.gitignore +++ b/.gitignore @@ -177,3 +177,7 @@ pyrightconfig.json # End of https://www.toptal.com/developers/gitignore/api/python tests/results/* + +# Ignore OpenSpec-generated files; keep them available for local use without cluttering the repo +.agents/commands/opsx/* +.agents/skills/openspec-* diff --git a/AGENTS.md b/AGENTS.md index 83434bf04..2fd8ee730 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -75,3 +75,9 @@ Load these skills when their triggers match. | --- | --- | | Creating a new skill: registering in AGENTS.md, choosing script vs SKILL.md | `adding-skills` | | Create a commit, GitHub issue, or PR | `git-workflow` | +| Propose a new OpenSpec change (design, specs, tasks in one step) | `openspec-propose` | +| Think through an idea/problem before or during an OpenSpec change | `openspec-explore` | +| Implement tasks from an existing OpenSpec change | `openspec-apply-change` | +| Revise an OpenSpec change's planning artifacts after edits/new decisions | `openspec-update-change` | +| Sync delta specs from a change into main specs (without archiving) | `openspec-sync-specs` | +| Archive a completed OpenSpec change | `openspec-archive-change` |