- 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
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# 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: `IAccountingSystem` in `Accounting/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
|