This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
| Task | Command | Notes |
|---|---|---|
| Install dependencies | npm install |
Uses npm@11.11.0 as specified in package.json. |
| Build for production | npm run build |
Equivalent to ng build --prod. Produces output in dist/. |
| Start development server | npm run start |
Equivalent to ng serve. Opens http://localhost:4200. |
| Deploy to GitHub Pages | npm run deploy |
Uses angular-cli-ghpages with settings from angular.json. |
| Run unit tests | npm test |
Runs ng test with Karma. No spec files yet, but command is available. |
| Run a single test file | npm test -- --testNamePattern=<pattern> |
Replace <pattern> with a regex or filename to limit test execution. |
| Lint | ng lint |
Angular CLI linting; no explicit lint script but available through CLI. |
- Root Module (
app.module.ts): Declares all components, importsBrowserModule,AppRoutingModule, and Angular core modules. The main layout is defined inapp.component.ts, which embeds the header, footer, and router outlet. - Routing: Defined in
app.routes.ts. Only one route ('') mapped toHomeComponent. No lazy loading. - HomeComponent (
src/app/core/pages/home/home.ts): Composes the hero, about, and timeline components and handles scroll‑based navigation highlighting. UsesProfileServiceto supply name, email, role. - Services:
ProfileServiceprovides static profile data via an AngularSignal.GravatarServicegenerates a gravatar URL usingcrypto‑jsSHA256.ThemeServicemanages theme state (system,light,dark), persists it inlocalStorage, and applies it viadocument.documentElement.dataset['theme'].
- Theme UI:
HeaderComponenthostsThemeComponent, which renders a button to toggle theme. The button displays a sun/moon/half‑stroke icon based on current theme. - Styling: Global SCSS in
src/styles.scss. Component styles live in corresponding.scssfiles. - Static Assets: Served from
public/directory (e.g.,curriculum‑vitae.pdf, favicons). Configured inangular.jsonunderassets. - Deployment:
ng deployusesangular-cli-ghpageswith GitHub Pages configuration set inangular.json(name, email, cname).
src/app/app.routes.ts– Route definitions.src/app/core/pages/home/home.ts– Main page logic.src/app/shared/services/*– Shared business logic.src/app/core/layouts/*– Reusable layout components.angular.json– Build, serve, test, deploy configurations.package.json– Scripts and dependencies.
- No custom GitHub Actions or CI pipelines are present.
- No lint configuration file; linting relies on Angular CLI defaults.
- No unit tests yet; tests can be added under
src/**/__tests__or using Vitest. - The repository uses Angular 21, which is the latest stable Angular version.