diff --git a/.claude/dev-cycle-profile.yml b/.claude/dev-cycle-profile.yml new file mode 100644 index 0000000..be01e32 --- /dev/null +++ b/.claude/dev-cycle-profile.yml @@ -0,0 +1,68 @@ +# Project profile for the skills plugin (~/dev/skills). +# Schema: ~/dev/skills/docs/profile-schema.md +# The skill bodies read this file at the start of each invocation; +# there is no template-render step. + +paths: + spec_dir: docs/specs + plan_dir: docs/plans + # Code roots the architect / quality reviewer walk. experiments/ is a + # deliberate sandbox (iterated autonomously) and stays out of review scope. + code_roots: [server, common, clients/desktop] + +naming: + # 4-digit zero-padded counter prefix per directory (0001-slug.md). The + # counter is assigned in creation order and stable for the life of the + # file; deleted numbers are not recycled. brainstorm/planner scan the + # directory for the next free number before writing. + counter_dirs: [docs/specs, docs/plans] + policy: stable_per_directory_4digit + slug_separator: "-" + +commands: + # Inner-loop build/test stay server-focused: the business logic lives in + # server/, and common/ is pulled in via path-dep, so a server build covers + # both. The full multi-world + Gradle sweep runs at cycle close (regression). + build: "cargo build --manifest-path server/Cargo.toml" + test: "cargo test --manifest-path server/Cargo.toml -j 4" + # CLAUDE.md: "cargo clippy hat immer Recht". + lint: "cargo clippy" + regression: + # Canonical integrity gate: fmt + clippy + build + test across all four + # Cargo worlds plus the Wear OS Gradle build. Exit code = number of FAIL + # stages. + - "scripts/check.sh" + # regress_whisper.sh is intentionally NOT here: it needs a live Whisper + # service (network) and is run on demand, not as a hermetic audit gate. + +vocabulary: + cycle: cycle + subcycle: iteration + milestone: milestone + ledger_entry: contract + +standing_reading: + always: + - CLAUDE.md + - "git log -10 --format=full" + # docs/projektplan.md is intentionally omitted here: at ~150 KB it is far + # too heavy to re-read on every agent dispatch. Read it explicitly when a + # task needs it. + +git: + main_sacrosanct: true + only_orchestrator_commits: true + protected_branches: [main] + issue_tracker: + kind: gitea + close_marker: "closes #N" + url: "http://192.168.178.103:3000/Brummel/doctate" + list_cmd: "tea issues ls --repo Brummel/doctate --state open" + +pipeline: + brainstorm: { gates: [planner] } + planner: { gates: [implement] } + implement: {} + audit: { mandatory_at: cycle_close } + debug: { trigger: bug, red_first: true } + boss: { user_invoked: true } diff --git a/docs/plans/2026-05-20-watch-multi-profile.md b/docs/plans/0001-watch-multi-profile.md similarity index 99% rename from docs/plans/2026-05-20-watch-multi-profile.md rename to docs/plans/0001-watch-multi-profile.md index bb17d65..f958e0d 100644 --- a/docs/plans/2026-05-20-watch-multi-profile.md +++ b/docs/plans/0001-watch-multi-profile.md @@ -8,7 +8,7 @@ **Tech Stack:** Bash (zero new deps), Gradle/Kotlin DSL, Kotlin/Compose for the optional dev badge, Android manifest placeholders. -**Spec:** [docs/specs/2026-05-20-watch-multi-profile-design.md](../specs/2026-05-20-watch-multi-profile-design.md) +**Spec:** [docs/specs/0001-watch-multi-profile-design.md](../specs/0001-watch-multi-profile-design.md) --- diff --git a/docs/plans/2026-05-30-responsive-webui.md b/docs/plans/0002-responsive-webui.md similarity index 100% rename from docs/plans/2026-05-30-responsive-webui.md rename to docs/plans/0002-responsive-webui.md diff --git a/docs/specs/2026-05-20-watch-multi-profile-design.md b/docs/specs/0001-watch-multi-profile-design.md similarity index 100% rename from docs/specs/2026-05-20-watch-multi-profile-design.md rename to docs/specs/0001-watch-multi-profile-design.md