Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
79757db
feat(design-system): add tailwind theme infrastructure
DigiBanks99 May 20, 2026
2965783
feat(design-system): add foundation Storybook stories
DigiBanks99 May 20, 2026
a8eb49f
feat(design-system): add button atom
DigiBanks99 May 20, 2026
0fc7eb6
fix(design-system): load tailwind container queries
DigiBanks99 May 20, 2026
a0e9fd0
feat(design-system): add input and select atoms
DigiBanks99 May 20, 2026
303df21
feat(design-system): add form field and amount input molecules
DigiBanks99 May 20, 2026
b17f2e3
feat(design-system): add tab bar and page shell
DigiBanks99 May 20, 2026
1a5a6dd
feat(design-system): add responsive panel molecule
DigiBanks99 May 20, 2026
87c4d87
feat(design-system): add toggle and badge atoms
DigiBanks99 May 20, 2026
5938394
feat(design-system): add progress and avatar atoms
DigiBanks99 May 20, 2026
9c1d53d
feat(design-system): add card and stat molecules
DigiBanks99 May 20, 2026
ada6da8
feat(design-system): add list item and page header molecules
DigiBanks99 May 20, 2026
d0c2681
feat(design-system): migrate home page to design system
DigiBanks99 May 20, 2026
13297b3
feat(design-system): migrate budget list page
DigiBanks99 May 20, 2026
d976ec2
feat(design-system): add form layout organism
DigiBanks99 May 20, 2026
9a54b0b
feat(design-system): add toast atom and service
DigiBanks99 May 20, 2026
087374f
feat(budget): migrate detail forms to design system
DigiBanks99 May 21, 2026
907773d
feat(menlo-lib): add chart palette foundations
DigiBanks99 May 21, 2026
c99766e
fix(storybook): restore menlo-lib story rendering
DigiBanks99 May 21, 2026
64a8e2d
feat: update AGENTS.md and improve documentation
DigiBanks99 May 21, 2026
cf0b124
test(frontend): close coverage gaps
DigiBanks99 May 21, 2026
a1c739e
fix(aspire): configure AddViteApp for IPv4 host binding
DigiBanks99 May 21, 2026
26c83b4
fix(spa): align web-ui endpoint discovery and naming
DigiBanks99 May 22, 2026
1afd711
fix(ci): remove duplicate coverage flag from test command in CI workflow
DigiBanks99 May 22, 2026
7ed9d44
fix(spa): add ExcludeFromCodeCoverage attribute to SpaHostingExtensio…
DigiBanks99 May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ jobs:

- name: Run tests
working-directory: src/ui/web
run: pnpm run test:all -- --coverage --reporters=default --reporters=junit
run: pnpm run test:all -- --reporters=default --reporters=junit
env:
NODE_ENV: test

Expand Down
52 changes: 33 additions & 19 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,31 +29,31 @@ Use `aspire` to run the application
## Linting and formatting

- Web:
- Linting: `pnpm lint`
- Formatting: `pnpm format`
- Linting: `pnpm lint`
- Formatting: `pnpm format`
- All .NET: `dotnet format`

## API Coverage Baseline (`src/api/Menlo.Api`)

Measured from the latest full `Menlo.Api.Tests` run (post-fix, feat/285 branch).

| File | Line coverage |
|------|--------------|
| BudgetSummaryDto.cs | 100.00% |
| GetBudgetSummaryHandler.cs | 96.81% |
| FillForwardHandler.cs | 91.04% |
| BulkCreateBudgetItemHandler.cs | 91.18% |
| CreateBudgetItemHandler.cs | 91.55% |
| DeleteBudgetItemHandler.cs | 95.00% |
| ListBudgetItemsHandler.cs | 96.00% |
| BudgetItemMapper.cs | 94.59% |
| BudgetEndpoints.cs | 100.00% |
| BudgetItemDto.cs | 100.00% |
| BudgetItemEndpoints.cs | 100.00% |
| RecordItemSpentHandler.cs | 82.76% |
| RealizeItemHandler.cs | 82.76% |
| UpdateBudgetItemHandler.cs | 72.62% |
| **Overall `Menlo.Api.Tests` line-rate** | **75.53%** |
| File | Line coverage |
| --------------------------------------- | ------------- |
| BudgetSummaryDto.cs | 100.00% |
| GetBudgetSummaryHandler.cs | 96.81% |
| FillForwardHandler.cs | 91.04% |
| BulkCreateBudgetItemHandler.cs | 91.18% |
| CreateBudgetItemHandler.cs | 91.55% |
| DeleteBudgetItemHandler.cs | 95.00% |
| ListBudgetItemsHandler.cs | 96.00% |
| BudgetItemMapper.cs | 94.59% |
| BudgetEndpoints.cs | 100.00% |
| BudgetItemDto.cs | 100.00% |
| BudgetItemEndpoints.cs | 100.00% |
| RecordItemSpentHandler.cs | 82.76% |
| RealizeItemHandler.cs | 82.76% |
| UpdateBudgetItemHandler.cs | 72.62% |
| **Overall `Menlo.Api.Tests` line-rate** | **75.53%** |

**Guardrail:** Changed C# files under `src/api/Menlo.Api/**` must stay at or above **70% line coverage** in CI. The repo-local guardrail definition lives in `scripts/` (implemented in a parallel lane — do not modify it here).

Expand All @@ -64,5 +64,19 @@ You must use conventional commits and tag the github issue you are working on in
Update your learnings as you progress but keep them brief.

<!-- Agent updates this section with discoveries - keep brief -->

- Local GitHub Actions reproduction already has a baseline helper at `scripts/act-ci.ps1`, using `ghcr.io/catthehacker/ubuntu:act-latest` for `pull_request` runs.
- Household IDs in shared-fixture API tests must be unique across test classes to avoid cross-test contamination.
- Tailwind v4 in `src/ui/web` should be wired through PostCSS, and `@tailwindcss/forms` should use `strategy: "class"` to avoid reset regressions during the design-system rollout.
- Storybook foundations can preview Latte and Mocha together by scoping Menlo's semantic CSS variables on per-story containers instead of relying on global `html.dark`.
- `src/ui/web/projects/menlo-lib/package.json` must point `types` to `types/menlo-lib.d.ts`; otherwise Vite dev overlays report `TS2307` for `menlo-lib` imports even when the dist package exists.
- `mnl-page-shell` should own the router-driven scroll reset while `mnl-tab-bar` keeps both mobile and desktop nav DOM trees mounted so CSS alone controls the responsive switch.
- Angular partial-compilation builds for `menlo-lib` can only bind to protected/public component members from templates; private signals break `ng-packagr` builds.
- `pnpm test:e2e` reuses any existing dev server on port 4200; kill stale `nx serve menlo-app` listeners before rerunning Playwright if a Vite overlay appears from old type-resolution errors.
- `src/ui/web/projects/menlo-lib/src/index.ts` and `src/public-api.ts` need to stay aligned when adding new exported molecules, or Storybook/dev imports drift from the packaged surface.
- Design-system gradients that must work in app runtime, Storybook previews, and Vitest are safest when driven by shared theme CSS variables instead of `light-dark()`.
- `mnl-button` exposes routed CTA interactions through its `pressed` output, so components that need navigation should handle routing in the host component instead of trying to attach `routerLink` directly.
- `pnpm exec nx test menlo-app --coverage` can fully cover a migrated app slice while still failing branch-wide because `menlo-app` and `menlo-lib` both enforce 100% global coverage across pre-existing uncovered files.
- A stray `Menlo.Api.exe` process locks backend build outputs and makes `dotnet test Menlo.slnx` fail even when the test suite itself is green; stop the specific PID before rerunning.
- `mnl-form-layout` needs explicit `[mnlFormTitle]` and `[mnlFormActions]` projection slots with the middle content slot excluding them, or Angular's wildcard projection swallows the sticky action bar content.
- `ng-apexcharts` 2.4 ships a standalone `ChartComponent` (`apx-chart`), and Menlo chart helpers should keep `ng-apexcharts` plus `apexcharts` in `peerDependencies` when exporting typed chart utilities.
5 changes: 3 additions & 2 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Aspire.Hosting.JavaScript" Version="13.3.4" />
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="13.3.4" />
<PackageVersion Include="Aspire.Hosting.Browsers" Version="13.3.5-preview.1.26270.6" />
<PackageVersion Include="Aspire.Hosting.JavaScript" Version="13.3.5" />
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="13.3.5" />
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.Ollama" Version="13.3.0" />
<PackageVersion Include="CommunityToolkit.Aspire.OllamaSharp" Version="13.3.0" />
<PackageVersion Include="CSharpFunctionalExtensions" Version="3.7.0" />
Expand Down
Loading
Loading