Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
367aa0a
feat(F098): progressive disclosure — 3-path CLAUDE.md, explicit @feat…
fall-out-bug Apr 18, 2026
5504e3a
fix(F098): add LOC tiers to review SKILL.md for config consistency
fall-out-bug Apr 18, 2026
c8a9772
style: fix trailing whitespace in PRODUCT_CONTRACT.md and blank EOF i…
fall-out-bug Apr 18, 2026
2e964df
style: gofmt telemetry test file
fall-out-bug Apr 18, 2026
bee7671
fix: resolve 10 lint issues in sdp-plugin (errcheck, gocognit, gofmt,…
fall-out-bug Apr 18, 2026
38b1ec1
fix(F100-02): one-time reference cleanup — 8 integrity fixes
fall-out-bug Apr 18, 2026
e870119
feat(F100-01): reference integrity CI gate — check-references.sh + wo…
fall-out-bug Apr 18, 2026
6ecbb12
fix(F100-03): review findings — trap cleanup, dynamic skills, grep fi…
fall-out-bug Apr 18, 2026
2b7f3ca
fix(F100): remove ghost agent refs, document llm_subagents as logical…
fall-out-bug Apr 19, 2026
25f5f7f
chore(F100): remove orphan agent stubs — not referenced in commands.json
fall-out-bug Apr 19, 2026
27a4aab
fix(F100): validate SDP root exists before running checks
fall-out-bug Apr 19, 2026
1fa4d88
fix(F100): update stale .codex/skills/sdp references to per-skill sym…
fall-out-bug Apr 19, 2026
7ea540b
fix(F100): update test expectations and docs for .codex/skills layout
fall-out-bug Apr 19, 2026
0e809dd
fix(F100): address PR review findings — backward compat, grep coverag…
fall-out-bug Apr 19, 2026
a2dcb9f
fix(F100): backward compat + reference check false-negative fix
fall-out-bug Apr 19, 2026
97f7e0b
merge(main): resolve F100 conflicts and keep codex per-skill layout
fall-out-bug Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .claude/commands.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,9 @@
"agents": {
"orchestrator": "agents/orchestrator.md",
"reviewer": "agents/reviewer.md",
"builder": "agents/builder.md",
"deployer": "agents/deployer.md",
"tester": "agents/qa.md",
"architect": "agents/architect.md",
"analyst": "agents/analyst.md",
"developer": "agents/developer.md",
"implementer": "agents/implementer.md",
"spec-reviewer": "agents/spec-reviewer.md",
"security": "agents/security.md",
Expand Down
4 changes: 2 additions & 2 deletions .codex/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Project skills source of truth lives in `prompts/skills/` (this repo). Tool fold
```bash
sdp init --auto
```
3. Use `@build 00-XXX-YY` or `sdp plan`, `sdp apply`, `sdp log trace` per [CLAUDE.md](../CLAUDE.md).
3. Use `@build 00-XXX-YY` or `sdp plan`, `sdp apply`, `sdp log trace` per [AGENTS.md](../AGENTS.md).

If you want the CLI only, use:

Expand All @@ -32,7 +32,7 @@ curl -sSL https://raw.githubusercontent.com/fall-out-bug/sdp/main/install.sh | s
├── agents/ # Project-level agent symlink
└── skills/
├── README.md
└── sdp/ # Project-level skills sourced from prompts/skills
└── {skill}/ # Per-skill symlinks to prompts/skills/{skill}

~/.codex/
└── skills/ # User-level skills (persistent)
Expand Down
5 changes: 3 additions & 2 deletions .codex/skills/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Project-level skills (Codex)

SDP project skills are defined in `prompts/skills/` (source of truth). This folder contains symlinks for Codex compatibility.
SDP project skills are defined in `prompts/skills/` (source of truth). This folder contains per-skill symlinks for Codex compatibility.

- **@init** — Initialize SDP in a project. See `prompts/skills/init/SKILL.md`.
- **@build** — Execute workstream (TDD, guard). See `prompts/skills/build/SKILL.md`.
- **@design** — Plan workstreams. See `prompts/skills/design/SKILL.md`.
- **@review** — Multi-agent quality review. See `prompts/skills/review/SKILL.md`.

Full list: `prompts/skills/` (build, design, feature, guard, oneshot, review, tdd, etc.).
Full list: `prompts/skills/` (init, build, design, feature, guard, oneshot, review, tdd, etc.).
1 change: 1 addition & 0 deletions .codex/skills/beads
1 change: 1 addition & 0 deletions .codex/skills/bugfix
1 change: 1 addition & 0 deletions .codex/skills/build
1 change: 1 addition & 0 deletions .codex/skills/ci-triage
1 change: 1 addition & 0 deletions .codex/skills/debug
1 change: 1 addition & 0 deletions .codex/skills/deploy
1 change: 1 addition & 0 deletions .codex/skills/design
1 change: 1 addition & 0 deletions .codex/skills/discovery
1 change: 1 addition & 0 deletions .codex/skills/feature
1 change: 1 addition & 0 deletions .codex/skills/go-modern
1 change: 1 addition & 0 deletions .codex/skills/guard
1 change: 1 addition & 0 deletions .codex/skills/hotfix
1 change: 1 addition & 0 deletions .codex/skills/idea
1 change: 1 addition & 0 deletions .codex/skills/init
1 change: 1 addition & 0 deletions .codex/skills/issue
1 change: 1 addition & 0 deletions .codex/skills/oneshot
1 change: 1 addition & 0 deletions .codex/skills/protocol-consistency
1 change: 1 addition & 0 deletions .codex/skills/prototype
1 change: 1 addition & 0 deletions .codex/skills/reality
1 change: 1 addition & 0 deletions .codex/skills/reality-check
1 change: 1 addition & 0 deletions .codex/skills/review
1 change: 0 additions & 1 deletion .codex/skills/sdp

This file was deleted.

1 change: 1 addition & 0 deletions .codex/skills/strataudit
1 change: 1 addition & 0 deletions .codex/skills/tdd
1 change: 1 addition & 0 deletions .codex/skills/think
1 change: 1 addition & 0 deletions .codex/skills/ux
1 change: 1 addition & 0 deletions .codex/skills/verify-workstream
1 change: 1 addition & 0 deletions .codex/skills/vision
2 changes: 1 addition & 1 deletion .cursor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ Use `@` prefix to invoke skills:

## See Also

- [CLAUDE.md](../CLAUDE.md) - Full protocol
- [AGENTS.md](../AGENTS.md) - Agent instructions and quality gates
- [prompts/skills/](../prompts/skills/) - Canonical skill definitions
- [.claude/skills/](../.claude/skills/) - Claude compatibility symlink
8 changes: 3 additions & 5 deletions .cursor/worktrees.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
{
"setup_commands_unix": [
"cd sdp-plugin && go mod download 2>/dev/null || echo 'Go modules not configured'",
"echo '✅ Worktree ready (Go project)'"
"echo 'Worktree ready (SDP project)'"
],
"setup_commands_windows": [
"cd sdp-plugin && go mod download 2>nul || echo Go modules not configured",
"echo Worktree ready (Go project)"
"echo Worktree ready (SDP project)"
],
"description": "Template for SDP project worktree setup. Go-first project."
"description": "Template for SDP project worktree setup."
}
22 changes: 22 additions & 0 deletions .github/workflows/reference-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Reference Integrity Check

on:
pull_request:
branches: [main, dev]
push:
branches: [main, dev]
workflow_dispatch:

permissions:
contents: read

jobs:
check-references:
name: Check References
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Run reference integrity check
run: sh scripts/check-references.sh
16 changes: 9 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ bd sync # Sync with git

## Quality Gates

Before pushing code changes:

```bash
go build ./... # must succeed
go test ./... # must pass
go vet ./... # no issues
```
Before pushing code changes, run the appropriate gates for your project's language:

| Language | Build | Test | Lint |
|----------|-------|------|------|
| Go | `go build ./...` | `go test ./...` | `go vet ./...` |
| Python | `pip install .` | `pytest` | `ruff check .` |
| Node.js | `npm run build` | `npm test` | `npm run lint` |
| Rust | `cargo build` | `cargo test` | `cargo clippy` |
| Java | `mvn compile` | `mvn test` | `mvn checkstyle:check` |

For Go changes, follow the canonical `@go-modern` skill in `prompts/skills/go-modern/SKILL.md` and prefer modern stdlib idioms when they preserve behavior.

Expand Down
8 changes: 6 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ AI-native dev with workstreams, gates, TDD.
## Decision Tree

```
New? → @vision → @reality → @feature
New? → @init → @vision → @reality → @feature
Demo? → sdp demo
No → State? → @reality --quick
WS? → @oneshot <id>
No → @feature "X"
Expand All @@ -24,7 +25,10 @@ No → @feature "X"
## Try

```bash
go install github.com/fall-out-bug/sdp/sdp-plugin/cmd/sdp@latest
sdp demo # Guided walkthrough
# or install manually:
# go install github.com/fall-out-bug/sdp/sdp-plugin/cmd/sdp@latest
@init
@feature "X"
@build 00-001-01
```
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ sh scripts/test-install-project.sh
## What to Edit

- Edit `prompts/` for prompt or agent behavior.
- Do not hand-edit `.claude/`, `.cursor/`, `.opencode/`, or `.codex/skills/sdp` as source files.
- Do not hand-edit `.claude/`, `.cursor/`, `.opencode/`, or `.codex/skills/` as source files.
- Edit `sdp-plugin/` for CLI behavior.
- Update docs when public behavior changes.

Expand Down
2 changes: 1 addition & 1 deletion docs/ADOPTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ sh sdp/scripts/uninstall.sh

**What is removed:**

- Symlinks in `.claude/skills`, `.claude/agents`, `.cursor/skills`, `.cursor/agents`, `.opencode/skills`, `.opencode/agents`, `.codex/skills/sdp`, `.codex/agents`
- Symlinks in `.claude/skills`, `.claude/agents`, `.cursor/skills`, `.cursor/agents`, `.opencode/skills`, `.opencode/agents`, `.codex/skills/*` (legacy `.codex/skills/sdp` also cleaned), `.codex/agents`
- SDP-installed files: `.claude/commands.json`, `.codex/INSTALL.md`, `.codex/skills/README.md`
- Git hooks pointing to SDP (`pre-commit`, `pre-push`)
- SDP entries from `.gitignore`
Expand Down
20 changes: 19 additions & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,29 @@ for arg in "$@"; do
esac
done

detect_ide() {
if [ "$SDP_IDE" != "auto" ] && [ -n "$SDP_IDE" ]; then
echo "$SDP_IDE"
return
fi
# Auto-detect from existing config files
if [ -f ".cursorrules" ] || [ -d ".cursor" ]; then echo "cursor"
elif [ -d ".codex" ]; then echo "codex"
elif [ -d ".claude" ]; then echo "claude"
elif [ -d ".opencode" ]; then echo "opencode"
elif [ -d ".zed" ] || [ -f ".zed/settings.json" ]; then echo "zed"
elif [ -d ".warp" ]; then echo "warp"
else echo "auto"
fi
}

run_remote_script() {
name="$1"
shift
url="https://raw.githubusercontent.com/${SDP_REPO}/${SDP_REF}/scripts/${name}"
curl -fsSL "$url" | SDP_REPO="$SDP_REPO" SDP_REF="$SDP_REF" SDP_IDE="${SDP_IDE:-auto}" sh -s -- "$@"
DETECTED_IDE=$(detect_ide)
echo "Detected IDE: ${DETECTED_IDE}"
curl -fsSL "$url" | SDP_REPO="$SDP_REPO" SDP_REF="$SDP_REF" SDP_IDE="${SDP_IDE:-$DETECTED_IDE}" sh -s -- "$@"
}

if [ "$BINARY_ONLY" = "1" ]; then
Expand Down
2 changes: 1 addition & 1 deletion prompts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Compatibility adapters are provided as symlinks:
- `.cursor/agents` -> `../prompts/agents`
- `.opencode/skills` -> `../prompts/skills`
- `.opencode/agents` -> `../prompts/agents`
- `.codex/skills/sdp` -> `../../prompts/skills`
- `.codex/skills` -> per-skill individual symlinks (e.g. `.codex/skills/build` -> `../../prompts/skills/build`)
- `.codex/agents` -> `../prompts/agents`

Edit only `prompts/*` to avoid prompt drift across tools.
Expand Down
12 changes: 12 additions & 0 deletions prompts/skills/feature/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,18 @@ Proceed? [y/n]

> **Note:** `--dry-run` and `--yes` are orthogonal to skill mode flags (`--default`, `--quick`, `--auto`). They can be combined with any mode (e.g. `@feature "X" --quick --dry-run`).

## Completion

When all workstreams are created and verified, output:

```
@feature complete. Feature {ID}: {count} workstreams created.
Aggregate: 00-{FFF}-00
Leaves: 00-{FFF}-01 .. 00-{FFF}-{NN}

Next: @build 00-{FFF}-01 or @oneshot F{XX}
```

## See Also

@discovery — Product discovery gate | @idea — Requirements | @ux — UX research | @design — Workstream planning | @build — Execute leaf workstream | @oneshot — Execute all ready leaf workstreams
Loading
Loading