Files
viexp/docs/sprints/sprint-00-setup.md
2026-10-18 18:20:14 +03:00

2.9 KiB
Raw Permalink Blame History

type, number, status, started, finished, hours-planned, hours-logged, tags
type number status started finished hours-planned hours-logged tags
sprint 0 active 2026-10-17 6 3
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. (Done 2026-10-18: used cargo init in the existing repo; task 0001.)
  • 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. (Done 2026-10-18: green on main after PR #13; needed dtolnay/rust-toolchain@stable and one rerun — runner network to static.rust-lang.org is flaky.)
  • 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 (2026-10-18, run #14)
  • ErrorJournal has ≥3 entries with cues
  • Sprint-1 milestone and issues exist on Gitea
  • Retro filled

Retrospective

Shipped

  • Task 0001 / issues #1–#2: cargo skeleton (lib/bin split, sanity test) + CI green on main via PR #13.

Frustrations

  • Reading English text (docs, tool output) eats a lot of session time. Agreed (2026-10-18): theory digests stay short and in Russian in chat; English lives only in artifacts (vault notes, code, commits, CI logs).

Hours logged / English notes