Improve CLAUDE.md with nx affected, i18n, SSL, and husky notes
- Reference DEVELOPMENT.md as the canonical setup guide to avoid drift
- Note where DEFAULT_PORT is defined
- Add nx affected:* commands for large branches
- Mention HTTPS self-signed cert requirement for dev client
- Mention extract-locales for translation strings
- Tip for husky hook executable bit
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
See [`DEVELOPMENT.md`](DEVELOPMENT.md) for the canonical contributor setup guide; this file focuses on architecture and command-level guidance for Claude Code.
## Overview
## Overview
Ghostfolio is an open-source wealth management application (AGPL-3.0). It is structured as an **Nx monorepo** with two apps and two shared libraries.
Ghostfolio is an open-source wealth management application (AGPL-3.0). It is structured as an **Nx monorepo** with two apps and two shared libraries.
npm run start:server # NestJS API on :3333 (DEFAULT_PORT from libs/common/src/lib/config.ts)
npm run start:client # Angular client on https://localhost:4200/en
npm run start:client # Angular client on https://localhost:4200/en
```
```
@ -33,6 +35,10 @@ Open https://localhost:4200/en. The first registered user gets the `ADMIN` role.
For other languages, change `--configuration=development-en` to e.g. `--configuration=development-de` in `package.json`.
For other languages, change `--configuration=development-en` to e.g. `--configuration=development-de` in `package.json`.
The dev client runs over HTTPS and expects `apps/client/localhost.cert` / `apps/client/localhost.pem`. See [`DEVELOPMENT.md`](DEVELOPMENT.md) for the `openssl` command to generate them. Translation strings live in `apps/client/src/locales/`; extract with `npm run extract-locales`.
If husky pre-commit hooks don't fire, ensure they are executable: `chmod +x .husky/pre-commit`.
## Commands
## Commands
| Task | Command |
| Task | Command |
@ -51,6 +57,14 @@ For other languages, change `--configuration=development-en` to e.g. `--configur
Tests require the `.env.example` env vars; the `npm test` script handles this via `dotenv-cli`.
Tests require the `.env.example` env vars; the `npm test` script handles this via `dotenv-cli`.
For large branches, prefer the `affected:*` variants which only run targets for projects impacted by the diff: