# Team Practices — Finalized > Affirmed team practices for the wedding newspaper generator, produced from > the interview answers + three specialist reviews, pending affirmation gate. ## Way of Working Direct to main. This is a solo local project, so everyday edits go straight to the main line; we use branches only if something larger ever warrants a review boundary. No feature-branch ceremony for routine work. ## Walking Skeleton Skip the separate walking-skeleton step. The layout and content are built together — there is no integration surface to prove, and a thin end-to-end slice (one markdown file → one rendered A4 page) emerges naturally as the first piece anyway. ## Testing Posture Unit tests for the markdown→HTML transform. The primary testable surface is the renderer: sample article markdown must always map to complete, correctly structured newspaper HTML with no dropped sections or mangled escaping, and the print stylesheet must keep content inside an A4 sheet. We write focused tests for the transform logic rather than an exhaustive suite; the print result remains the real-world acceptance check. Methodology: test-after Ordering: implement the transform and layout, then write and run tests that verify markdown→HTML fidelity and A4 print containment. ## Deployment File-only, no server. A Python static generator (primary path, run with the working `uv` runtime) reads content files and emits a self-contained `newspaper.html`. The page is opened directly via `file://` and printed to A4 from the browser print dialog. The generated page also includes a native file-picker / drag-and-drop load path so content can be swapped in live without regenerating. No server, no browser flags, never deployed beyond localhost. The generator may optionally call AI to draft newspaper copy before rendering. ## Code Style Minimal and pragmatic, no style rules beyond staying consistent. Pure HTML5 + CSS + vanilla JS with no build step and no framework. Keep formatting clean by hand; do not introduce tooling, transpilers, or bundlers. ## Forbidden (none affirmed by the team) ## Mandated - ALWAYS keep the output runnable purely from the local filesystem with no network requests (affirmed)