Skip to content
Merged
Changes from 1 commit
Commits
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
118 changes: 118 additions & 0 deletions tasks/issue-39-chore-adopt-repo-standard-stage-in-progress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Tasks: Issue #39 — chore: adopt repo-standard (stage=in-progress)

Source: https://github.com/rsenna/guiltty/issues/39
Enrichment: issue comment on #39.

Quality gate: none of these tasks touch Rust source, so the usual `cargo fmt`/`clippy`/`llvm-cov` gate doesn't apply. "Verify" below is doc/structure inspection instead.

This issue brings `guiltty` up to the `in-progress` tier of the cross-repo
doc/folder standard ([`2026-08-01-repo-standard-design.md`](https://github.com/rsenna/rs-claude-plugins/blob/main/docs/superpowers/specs/2026-08-01-repo-standard-design.md)).
It is pure scaffolding: no existing `docs/*.md` content moves, no Rust code
changes, no CI changes.

Sequencing: **T1 and T3 are independent** and can happen in any order or in
parallel. **T2 benefits from T1** (an `AGENTS.md` written after `repo.toml`
already declares the stage can reference it) but doesn't hard-depend on it.
**T4 is the largest task and independent of T1–T3** at the file level, but
do it last since it's the one most likely to surface an open question (tool
dependencies in `.specify/scripts/`) worth resolving with the smaller tasks
already landed.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

---

- [ ] **T1 — Declare `stage = "in-progress"` in `repo.toml`**

Acceptance:
- `repo.toml` gains a `stage = "in-progress"` line, matching the design
doc's four valid values (`prototype | in-progress | released | archived`).
- No other `repo.toml` fields change.

Verify:
- `cat repo.toml` shows the new line; the file otherwise diffs to nothing
else.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

Files: `repo.toml`

Dependencies: none.

---

- [ ] **T2 — Create `AGENTS.md`**

Acceptance:
- `AGENTS.md` exists at repo root, in the design doc's "in-progress" style:
what's actually implemented today (reality-check, not aspirational —
mirror `README.md`'s existing DONE/IN PROGRESS/NOT STARTED status list,
don't restate `docs/spec.md`'s forward-looking Success Criteria as if
already done), decided rules/conventions (the Always/Ask first/Never list
already in `docs/spec.md`'s Code Style section, restated or linked), dev
commands (`docs/spec.md`'s Commands block: build/test/lint/format/run
example), and a "where things live" map (workspace crate layout — mirror
`docs/spec.md`'s Project Structure section).
- Links out to `docs/spec.md`, `docs/spec-ci.md`, `docs/spec-kitty-e2e.md`,
and `docs/design/*.md` rather than duplicating their content — follow
iklo's `AGENTS.md` pattern (a short hub page pointing at the real sources)
rather than inlining everything.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

Verify:
- Read `AGENTS.md` against `docs/spec.md` and the current crate tree; every
"implemented" claim must match what's actually in `crates/*/src/lib.rs`
Comment thread
rsenna marked this conversation as resolved.
Outdated
today (same discipline as issue #16/T1's README fix).
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

Files: `AGENTS.md` (new)

Dependencies: none (T1 is a soft dependency only — natural to land first
since `AGENTS.md` can reference the now-declared stage, not a hard block).

---

- [ ] **T3 — Create `specs/` and `specs/decisions/`**

Acceptance:
- `specs/` and `specs/decisions/` both exist, empty except for a `.gitkeep`
each (git doesn't track empty directories).
- No existing `docs/spec*.md` or `docs/design/*.md` content is moved into
either directory — see this issue's Non-goals.

Verify:
- `git status` after `git add` shows both new, empty (`.gitkeep`-only)
directories tracked.

Files: `specs/.gitkeep` (new), `specs/decisions/.gitkeep` (new)

Dependencies: none.

---

- [ ] **T4 — Bootstrap `.specify/` from the iklo reference implementation**

Acceptance:
- `.specify/` exists with the same directory shape as
`~/REPO/ME/iklo/.specify/`: `memory/`, `templates/`, `scripts/bash/`,
`workflows/`, `integrations/`.
- `templates/`, `scripts/bash/`, `workflows/`, `integrations/` copy over
verbatim (project-agnostic spec-kit tooling — no guiltty-specific content
to adapt there).
- `.specify/memory/constitution.md` is **authored for guiltty**, not a
copy-with-title-changed: restate `docs/spec.md`'s Code Style
Always/Ask-first/Never rules as constitution articles (e.g. "backend
concerns never leak into `guiltty-core`", "ask first before a new external
dependency or backend crate", "never panic on a recoverable error path in
public API"), in the same spirit as iklo's constitution (principles that
govern every spec/plan/task, amendments via an ADR under
`specs/decisions/`) but with guiltty's own content, not iklo's.
- Before treating this done, skim `.specify/scripts/bash/*.sh` for any tool
Comment thread
sourcery-ai[bot] marked this conversation as resolved.
Outdated
dependency (e.g. `jq`) not already covered by `mise.toml`; if one exists,
either add it to `mise.toml` as part of this task or note it explicitly as
a follow-up (see this issue's Open questions) — don't silently ship
scripts that fail on a clean checkout.

Verify:
- `diff -rq ~/REPO/ME/iklo/.specify/{templates,scripts,workflows,integrations} .specify/` shows no content differences for the copied, project-agnostic parts.
Comment thread
rsenna marked this conversation as resolved.
Outdated
Comment thread
rsenna marked this conversation as resolved.
Outdated
Comment thread
rsenna marked this conversation as resolved.
Outdated
- Read `.specify/memory/constitution.md` end to end and confirm every
article is genuinely about guiltty (no leftover "Iklo", "kebab-case
identifiers", substrate/REPL language, or other iklo-specific content).
Comment thread
coderabbitai[bot] marked this conversation as resolved.

Files: `.specify/` (new tree — `memory/constitution.md`, `templates/*`, `scripts/bash/*`, `workflows/*`, `integrations/*`)

Dependencies: none at the file level; do last per the sequencing note above.
Comment thread
rsenna marked this conversation as resolved.
Outdated