- Rewrite .claude/CLAUDE.md with project-specific context: tech stack (.NET 10, React 18), solution structure, build commands, architecture decisions (DDD, CQRS, Provider pattern), domain concepts - Rewrite AGENTS.md with layer-specific agent routing mapped to FiscalFlow architecture layers - Remove invoice-master-poc-v2 reference from settings.json - Clean settings.local.json: remove 100+ irrelevant entries from another project and hardcoded database password - Remove everything-claude-code framework files (commands, hooks, skills) now managed at user level
2.1 KiB
2.1 KiB
FiscalFlow Agent Routing
Prefer retrieval-led reasoning over pretraining for .NET work. Workflow: skim existing FiscalFlow patterns -> consult dotnet-skills by name -> implement smallest change -> verify build.
Backend Layers
Domain (src/FiscalFlow.Core/): Entities, value objects, domain events, interfaces.
- Skills: modern-csharp-coding-standards, type-design-performance
Application (src/FiscalFlow.Application/): CQRS commands/queries via MediatR, DTOs, validation pipelines.
- Skills: api-design, modern-csharp-coding-standards
Infrastructure (src/FiscalFlow.Infrastructure/): EF Core repositories, event store, external service clients.
- Skills: efcore-patterns, database-performance, dependency-injection-patterns
Integrations (src/FiscalFlow.Integrations/): Accounting system providers.
- Key interface:
IAccountingSysteminAccounting/IAccountingSystem.cs - New providers: implement IAccountingSystem, register via DI in
Extensions/DependencyInjection.cs - Skills: api-design, csharp-concurrency-patterns (retry/resilience)
API (src/FiscalFlow.Api/): Controllers, middleware, Swagger configuration.
- Skills: api-design
Frontend
React 18 + TypeScript + Vite + TailwindCSS:
- State: Zustand stores in
frontend/src/stores/ - API: Client layer in
frontend/src/api/ - Pages:
frontend/src/pages/(Login, Register, Upload, Review, Connect, Settings, History) - Components:
frontend/src/components/(Layout, Auth, UI)
Testing
- Unit: xUnit + Moq + FluentAssertions in
tests/FiscalFlow.UnitTests/ - Integration: WebApplicationFactory in
tests/FiscalFlow.IntegrationTests/ - Frontend: Vitest (unit), Playwright (E2E)
- Quality: dotnet-slopwatch (after substantial code), crap-analysis (after test changes)
Domain Terms
- Provider: An accounting system integration (Fortnox, Visma, Hogia)
- Connection: OAuth2 session linking a user to a provider
- Invoice lifecycle: Upload -> OCR -> SupplierMatch -> VoucherGenerate -> Import
- Voucher: Accounting entry created in the external accounting system
- SupplierCache: Locally cached supplier list from the connected accounting system