# Coding Standards

These rules apply to WalkUp-specific work in this repository.

## General

- Prefer the smallest change that fully solves the problem.
- Preserve existing behavior unless the task explicitly requires a change.
- Keep control flow straightforward and naming explicit.
- Avoid broad refactors unless they are necessary to complete the task.

## Frontend

- Match the existing Bootstrap-based UI patterns.
- All icons should come from the `bootstrap-icons` library already used by the frontend.
- Do not introduce custom SVG icon drawing or alternate icon packs unless the repo guidance is updated first.
- Keep interactive controls readable and compact, especially in menus and toolbars.
- Prefer UI changes that fit the current layout and spacing conventions.

## Backend

- Keep route handlers thin and push shared logic into helper functions when it improves clarity.
- Treat tests as part of the implementation for non-trivial behavior changes.
- Preserve API shape unless the change requires a contract update.

## Testing

- Add or update tests for user-visible behavior changes.
- Run the smallest useful verification first, then broader checks for the touched area.
- If a change cannot be covered automatically, call out the gap clearly.

## Git And Workflow

- Work on a dedicated branch for a scoped change.
- Use the `Codex <codex@local>` identity for agent-authored commits.
- Keep commits focused and reviewable.
- Do not mix unrelated changes into the same commit.

## Docs

- Keep `docs/architecture.md` aligned with the current app structure.
- Keep `docs/coding-standards.md` aligned with actual repo practice.
- Update `PLAN.md` when work is completed, deferred, or split.
