--- type: sprint number: 0 status: active started: 2026-10-17 finished: hours-planned: 6 hours-logged: 2 tags: [sprint, setup] --- # Sprint 0 — Setup & deconstruction ## Theme Remove every barrier to practice: toolchain, fast feedback, project board, CI. After this sprint, a practice session starts in 60 seconds and never touches configuration. ## App deliverable `viexp` cargo project skeleton that compiles, one trivial test green, Gitea Actions CI green, `bacon` watching check+clippy+test on save, Gitea board (project + labels + milestones) ready. ## Rust focus — the vital 20% - What `rustc` / `cargo` / `crates.io` / `Cargo.toml` / `Cargo.lock` are and who owns which file. - The compile cycle: `cargo check` (fast) vs `build` vs `run`; `cargo fmt`, `cargo clippy`. - Reading a compiler error: error code (e.g. E0382), span, help hint — where to look first. ## Practice drills (20–30 min each) - [ ] D1 — Install/verify: `rustup default stable`, `cargo --version`; run `rustup component add clippy rustfmt`; install `bacon` (`cargo install --locked bacon`). - [ ] D2 — `cargo new viexp --bin`, add a `lib.rs` skeleton (src split: `main.rs` calls `viexp::run()`), one `#[test] fn sanity()` — make it fail, read the output, make it pass. - [ ] D3 — Break it on purpose: introduce E0382 (move a `String`, then use it), E0308 (wrong type), E0384 (reassign immutable). Paste each into the ErrorJournal **with a self-correction cue**. - [ ] D4 — Gitea CI: `.gitea/workflows/ci.yml` running `fmt --check`, `clippy -D warnings`, `test`. Push and watch it go green. - [x] D5 — Gitea board: labels, milestone "Sprint 1", issues imported from Sprint-1 DoD. (Done 2026-10-17: 11 labels, 13 sprint milestones, issues #1–#12; kanban board still needs one-time manual creation in the web UI — Gitea 1.26.2 has no projects API.) ## English focus README "Status" section (done), DevLog habit starts today, commit messages from now on: Conventional Commits, imperative mood. ## Session rhythm (45 min) 5 min review → 30 min drill → 10 min DevLog + ErrorJournal. ## Definition of done - [ ] `cargo bacon` shows check+test passing on save - [ ] CI green on `main` - [ ] ErrorJournal has ≥3 entries with cues - [ ] Sprint-1 milestone and issues exist on Gitea - [ ] Retro filled ## Retrospective ### Shipped ### Frustrations ### Hours logged / English notes