MoonBite combines solunar tables, moon phase, weather forecast, and barometric pressure into a single daily "fishing score" for your location.
# Install dependencies
npm install
# Start development server
npm startOpen http://localhost:4202 in your browser. The app will automatically reload when you change source files.
| Command | Description |
|---|---|
npm start |
Start dev server at http://localhost:4202 |
npm run build |
Production build (output in dist/) |
npm test |
Run unit tests (Jasmine/Karma) |
npm run test:coverage |
Run unit tests and generate coverage report |
npm run lint |
Run ESLint on TypeScript and HTML files |
npm run e2e |
Run Playwright end-to-end tests |
npm run e2e:ui |
Open Playwright UI mode |
npm run e2e:report |
View the last Playwright HTML report |
npm run format |
Format source files with Prettier |
npm run format:check |
Check formatting without writing changes |
src/
app/
app.component.ts # Root component
app.component.html # Root template
app.component.scss # Root styles
app.component.spec.ts # Unit tests
app.config.ts # Application providers
app.routes.ts # Route definitions
index.html # App shell
main.ts # Bootstrap entry point
styles.scss # Global styles
e2e/
playwright.config.ts # Playwright configuration
tests/
app.spec.ts # E2E tests
app.component.spec.ts # Component-level tests
- Angular 21 — Framework
- TypeScript 5.9 — Language
- RxJS 7 — Reactive programming
- Jasmine + Karma — Unit testing
- Playwright — End-to-end testing
- ESLint + angular-eslint — Linting
- Prettier — Code formatting
npx ng generate component features/my-featurenpx ng generate service core/my-serviceThis project is set up for Claude Code. The Devcontainer will already have Claude installed and use the built-in agents to accelerate development. If you are developing without the Devcontainer, then you can install it yourself:
# Install Claude Code
curl -fsSL https://claude.ai/install.sh | bash
# Launch in this project
claudeInstall the VoltAgent sub-agents for a curated set of specialist agents, then see docs/AGENTS.md for the recommended workflows for this project.
After running npm run test:coverage, open coverage/moonbite/index.html to view the full coverage report. The project enforces a minimum 85% coverage threshold.
- Create a feature branch from
main - Make your changes
- Ensure tests pass:
npm test - Ensure linting passes:
npm run lint - Format code:
npm run format - Submit a pull request