Skip to content

Commit b8599fb

Browse files
committed
feat: initial release
0 parents  commit b8599fb

File tree

203 files changed

+22833
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+22833
-0
lines changed

.claude/commands/discuss.md

Lines changed: 454 additions & 0 deletions
Large diffs are not rendered by default.

.claude/commands/gov.md

Lines changed: 561 additions & 0 deletions
Large diffs are not rendered by default.

.claude/commands/quick.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
description: Fast path for trivial changes — skip governance, minimal ceremony
3+
allowed-tools: Read, Write, StrReplace, Shell, Glob, Grep, LS, SemanticSearch, TodoWrite
4+
argument-hint: <what-to-do>
5+
---
6+
7+
# /quick — Fast Path Workflow
8+
9+
Execute a lightweight workflow for trivial changes: `$ARGUMENTS`
10+
11+
**Use for:** Documentation fixes, typos, comments, small refactors, non-behavioral changes.
12+
13+
**Do NOT use for:** New features, behavioral changes, anything requiring RFC/ADR.
14+
15+
---
16+
17+
## WORKFLOW
18+
19+
### 1. Validate Environment
20+
21+
```bash
22+
govctl status
23+
```
24+
25+
**Detect VCS:** Try `jj status` first. If it succeeds, use jujutsu. Otherwise use git.
26+
27+
### 2. Create Work Item
28+
29+
```bash
30+
govctl work new --active "<concise-title>"
31+
govctl work add <WI-ID> acceptance_criteria "chore: Change completed"
32+
```
33+
34+
### 3. Implement
35+
36+
Make the changes. If referencing governance artifacts in code comments, use `[[artifact-id]]` syntax:
37+
38+
```rust
39+
// Implements [[RFC-0001:C-FOO]]
40+
```
41+
42+
Run validations:
43+
44+
```bash
45+
govctl check
46+
```
47+
48+
### 4. Record
49+
50+
```bash
51+
# jj
52+
jj commit -m "<type>(<scope>): <description>"
53+
54+
# git
55+
git add . && git commit -m "<type>(<scope>): <description>"
56+
```
57+
58+
### 5. Complete
59+
60+
```bash
61+
govctl work tick <WI-ID> acceptance_criteria "Change completed" -s done
62+
govctl work move <WI-ID> done
63+
```
64+
65+
### 6. Final Record
66+
67+
```bash
68+
# jj
69+
jj commit -m "chore(work): complete <WI-ID>"
70+
71+
# git
72+
git add . && git commit -m "chore(work): complete <WI-ID>"
73+
```
74+
75+
---
76+
77+
## WHEN TO SWITCH TO /gov
78+
79+
If during implementation you discover:
80+
81+
- This requires behavioral changes → switch to `/gov`
82+
- This needs RFC specification → switch to `/gov`
83+
- This is an architectural decision → switch to `/gov`
84+
85+
**BEGIN EXECUTION NOW.**

.claude/commands/status.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
description: Show governance status — read-only summary of RFCs, ADRs, and work items
3+
allowed-tools: Read, Shell, Glob, Grep, LS
4+
argument-hint: [focus-area]
5+
---
6+
7+
# /status — Governance Status
8+
9+
Display the current governance state. Read-only, no mutations.
10+
11+
---
12+
13+
## OVERVIEW
14+
15+
```bash
16+
govctl status
17+
```
18+
19+
---
20+
21+
## DETAILED VIEWS
22+
23+
### RFCs
24+
25+
```bash
26+
govctl rfc list
27+
```
28+
29+
### ADRs
30+
31+
```bash
32+
govctl adr list
33+
```
34+
35+
### Work Items
36+
37+
```bash
38+
# All pending (queue + active)
39+
govctl work list pending
40+
41+
# All work items
42+
govctl work list
43+
```
44+
45+
---
46+
47+
## FOCUS AREAS
48+
49+
If `$ARGUMENTS` specifies a focus:
50+
51+
| Argument | Action |
52+
| --------------------- | ----------------------- |
53+
| `rfc` or `rfcs` | Show RFC list only |
54+
| `adr` or `adrs` | Show ADR list only |
55+
| `work` or `tasks` | Show work items only |
56+
| `pending` or `active` | Show pending work items |
57+
| `<RFC-ID>` | Read specific RFC |
58+
| `<ADR-ID>` | Read specific ADR |
59+
| `<WI-ID>` | Read specific work item |
60+
61+
---
62+
63+
## VALIDATION
64+
65+
Check for governance issues:
66+
67+
```bash
68+
govctl check
69+
```
70+
71+
---
72+
73+
## OUTPUT FORMAT
74+
75+
Provide a structured summary:
76+
77+
```
78+
=== GOVERNANCE STATUS ===
79+
80+
RFCs: <count> (<normative>/<draft>/<deprecated>)
81+
ADRs: <count> (<accepted>/<proposed>/<deprecated>)
82+
Work Items: <active>/<queue>/<done>
83+
84+
Active Work:
85+
- <WI-ID>: <title>
86+
87+
Recent Activity:
88+
- <summary of recent changes>
89+
```
90+
91+
**This is a read-only command. No files will be modified.**

.github/workflows/ci.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
RUST_BACKTRACE: 1
12+
13+
jobs:
14+
ci:
15+
name: CI
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v6
19+
- uses: dtolnay/rust-toolchain@stable
20+
with:
21+
components: rustfmt, clippy
22+
- uses: Swatinem/rust-cache@v2
23+
24+
- name: Format
25+
run: cargo fmt --all -- --check
26+
27+
- name: Clippy
28+
run: cargo clippy --all-features -- -D warnings
29+
30+
- name: Test
31+
run: cargo test --all-features
32+
33+
- name: Build
34+
run: cargo build --release
35+
36+
build:
37+
name: Build (${{ matrix.os }})
38+
runs-on: ${{ matrix.os }}
39+
strategy:
40+
matrix:
41+
os: [macos-latest, windows-latest]
42+
steps:
43+
- uses: actions/checkout@v6
44+
- uses: dtolnay/rust-toolchain@stable
45+
- uses: Swatinem/rust-cache@v2
46+
- run: cargo build --release
47+
48+
deny:
49+
name: cargo-deny
50+
runs-on: ubuntu-latest
51+
steps:
52+
- uses: actions/checkout@v6
53+
- uses: EmbarkStudios/cargo-deny-action@v2
54+
55+
coverage:
56+
name: Coverage
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: actions/checkout@v6
60+
61+
- uses: dtolnay/rust-toolchain@stable
62+
with:
63+
components: llvm-tools-preview
64+
65+
- uses: Swatinem/rust-cache@v2
66+
67+
- name: Install cargo-llvm-cov
68+
uses: taiki-e/install-action@cargo-llvm-cov
69+
70+
- name: Generate coverage
71+
run: cargo llvm-cov --all-features --lcov --output-path lcov.info
72+
73+
- name: Upload coverage to Codecov
74+
uses: codecov/codecov-action@v5
75+
with:
76+
fail_ci_if_error: false
77+
files: lcov.info
78+
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/mdbook.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: mdBook
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
12+
jobs:
13+
build:
14+
name: Build Book
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Setup mdBook
20+
uses: peaceiris/actions-mdbook@v2
21+
with:
22+
mdbook-version: "0.5.2"
23+
24+
- name: Install govctl
25+
uses: jaxxstorm/action-install-gh-release@v2.1.0
26+
with:
27+
repo: govctl-org/govctl
28+
tag: latest
29+
30+
- name: Build mdbook
31+
run: ./scripts/build-book.sh
32+
33+
# Upload for PR inspection
34+
- name: Upload book artifact
35+
uses: actions/upload-artifact@v6
36+
with:
37+
name: book
38+
path: docs/book
39+
40+
# Upload for Pages deployment (main branch only)
41+
- name: Upload Pages artifact
42+
if: github.ref == 'refs/heads/main'
43+
uses: actions/upload-pages-artifact@v4
44+
with:
45+
path: docs/book
46+
47+
deploy:
48+
name: Deploy to Pages
49+
if: github.ref == 'refs/heads/main'
50+
needs: build
51+
runs-on: ubuntu-latest
52+
permissions:
53+
pages: write
54+
id-token: write
55+
environment:
56+
name: github-pages
57+
url: ${{ steps.deployment.outputs.page_url }}
58+
steps:
59+
- name: Deploy to GitHub Pages
60+
id: deployment
61+
uses: actions/deploy-pages@v4

.github/workflows/pre-commit.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Pre-commit
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
pre-commit:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v6
14+
15+
- uses: dtolnay/rust-toolchain@stable
16+
with:
17+
components: rustfmt, clippy
18+
19+
- uses: actions/setup-node@v6
20+
with:
21+
node-version: "24"
22+
23+
- uses: actions/setup-go@v6
24+
with:
25+
go-version: "1.25"
26+
27+
- name: Install govctl
28+
uses: jaxxstorm/action-install-gh-release@v2.1.0
29+
with:
30+
repo: govctl-org/govctl
31+
tag: latest
32+
33+
- uses: j178/prek-action@v1
34+
with:
35+
extra-args: --all-files

0 commit comments

Comments
 (0)