Adds three things to make frontend PRs reviewable directly from Gitea web UI:
1. Storybook 8 for Vue 3 components
- .storybook/main.ts + preview.ts
- HealthDashboard.stories.ts (1 example story)
- npm run storybook / npm run build-storybook
2. Playwright JSON reporter + screenshot on every test
- playwright.config.ts: json reporter + screenshot: 'on'
- health.spec.ts: explicit screenshot path
3. Auto-generated markdown docs with breadcrumbs
- scripts/generate-test-docs.mjs: reads results.json -> generates docs/e2e/<test>.md per test
- docs/README.md: top-level frontend docs index
- docs/e2e/README.md: e2e index with link to each test
- Each test markdown has breadcrumb [<- Back to index]
- Screenshots embedded via relative path
Companion to PR #25 (Nuxt scaffold).
Out of scope (future PRs):
- Visual regression testing
- Storybook deployment / hosted preview
- More e2e test coverage
🤖 Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- Designed trunk-based development workflow with branch protection
- Added workflow validation job to prevent main branch breaks
- Integrated act (GitHub Actions runner) for local Gitea workflow testing
- Created unified CI/CD script interface (scripts/cicd.sh)
- Added YAML lint configuration with practical limits (400 chars)
- Organized all CI/CD scripts under scripts/cicd/ directory
- Confirmed Gitea/GitHub Actions compatibility via local testing
- Updated ADR 0017 with implementation details and test results
- Enhanced documentation with local development workflow
See ADR-0017 for complete trunk-based development workflow documentation.
See ADR-0016 for CI/CD pipeline design.
- Add scripts/build.sh to compile binaries into bin/ directory
- Move all zerolog setup logic from cmd/server/main.go to pkg/config
- Add log level configuration support (trace, debug, info, warn, error, fatal, panic)
- Simplify cmd/server/main.go from 57 to 27 lines (53% reduction)
- Update .gitignore to use bin/ directory instead of individual files
- Document build process and bin directory in AGENTS.md
- Maintain backward compatibility with all existing functionality
- Simplify cmd/server/main.go from 158 to 57 lines (64% reduction)
- Move HTTP server creation, graceful shutdown, and context management to pkg/server
- Add Run() method to encapsulate server lifecycle management
- Maintain all existing functionality and OpenTelemetry integration
- Improve separation of concerns and code organization
This refactoring makes cmd/server/main.go a thin entrypoint while moving all server implementation details to the pkg/server package, following Go best practices for package organization.
Add server and greet binaries to .gitignore
\n- Add scripts/start-server.sh for easy server management\n- Add DLC_NO_COLOR environment variable support for clean logs\n- Update server.go to handle color/no-color logging\n- Add server.log and server.pid to .gitignore\n- Update README.md and AGENTS.md with server control documentation\n- Test all server control functions (start, stop, restart, status, logs, test)