Compare commits
2 Commits
20f30ac17b
...
d6519f7f73
| Author | SHA1 | Date |
|---|---|---|
|
|
d6519f7f73 | |
|
|
af96f7c234 |
|
|
@ -5,7 +5,8 @@
|
|||
"Bash(get-childitem:*)",
|
||||
"WebFetch(domain:geminicli.com)",
|
||||
"WebFetch(domain:google-gemini.github.io)",
|
||||
"Bash(Get-ChildItem \"C:\\\\work\\\\claude-meta\\\\home-claude\")"
|
||||
"Bash(Get-ChildItem \"C:\\\\work\\\\claude-meta\\\\home-claude\")",
|
||||
"Bash(npx:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,10 +50,36 @@
|
|||
],
|
||||
"defaultMode": "acceptEdits"
|
||||
},
|
||||
"model": "sonnet",
|
||||
"enabledPlugins": {
|
||||
"csharp-lsp@claude-plugins-official": true
|
||||
"csharp-lsp@claude-plugins-official": true,
|
||||
"frontend-design@claude-plugins-official": true,
|
||||
"superpowers@claude-plugins-official": true,
|
||||
"code-review@claude-plugins-official": true,
|
||||
"code-simplifier@claude-plugins-official": true,
|
||||
"playwright@claude-plugins-official": true,
|
||||
"claude-md-management@claude-plugins-official": true
|
||||
},
|
||||
"language": "German",
|
||||
"alwaysThinkingEnabled": true,
|
||||
"effortLevel": "low",
|
||||
"model": "sonnet"
|
||||
"mcpServers": {
|
||||
"playwright": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"@playwright/mcp@latest",
|
||||
"--browser",
|
||||
"chromium",
|
||||
"--headed"
|
||||
]
|
||||
},
|
||||
"postgres": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-postgres",
|
||||
"postgresql://krah:krah_dev_pw@localhost:5432/krah_prodb"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
# AIMS Project Memory
|
||||
|
||||
## Razor Pages Migration (Branch: feat/razor-pages-migration)
|
||||
- Dashboard (`/`) and Goals List (`/goals`) migrated to Razor Pages
|
||||
- Blazor `@page` directives removed from `Dashboard.razor` and `GoalsList.razor`
|
||||
- NavMenu.razor: `ForceLoad="true"` on Dashboard and Ziele links
|
||||
- MainLayout.razor: `ToggleDarkMode` now writes `aims-dark-mode` cookie via JS Interop
|
||||
|
||||
### Key gotchas
|
||||
- `<option @(ternary)>` → RZ1031 error; use `asp-items="Model.SelectList"` instead
|
||||
- `Page` property in PageModel conflicts with `PageModel.Page()` method → use `new` keyword: `public new int Page`
|
||||
- Static methods in PageModel not accessible from Razor view via bare `IndexModel.Method()` → qualify fully: `AIMS.Web.Pages.Goals.IndexModel.MakeUrl(...)`
|
||||
- Razor Pages `_Layout.cshtml` lives at `Pages/Shared/`, ViewComponents at `Views/Shared/Components/{Name}/Default.cshtml`
|
||||
- `MapRazorPages()` must come BEFORE `MapRazorComponents<App>()` in Program.cs to claim routes
|
||||
|
||||
### File locations
|
||||
- Layout: `src/AIMS.Web/Pages/Shared/_Layout.cshtml`
|
||||
- NavMenu ViewComponent: `src/AIMS.Web/ViewComponents/NavMenuViewComponent.cs`
|
||||
+ View: `src/AIMS.Web/Views/Shared/Components/NavMenu/Default.cshtml`
|
||||
- CSS: `src/AIMS.Web/wwwroot/css/material.css`
|
||||
- JS: `src/AIMS.Web/wwwroot/js/aims-pages.js`
|
||||
- Dashboard: `src/AIMS.Web/Pages/Dashboard/Index.cshtml[.cs]`
|
||||
- Goals List: `src/AIMS.Web/Pages/Goals/Index.cshtml[.cs]`
|
||||
- Goals Tree partial: `src/AIMS.Web/Pages/Goals/_TreeNode.cshtml`
|
||||
- HTMX endpoint: `src/AIMS.Web/Pages/Goals/Hierarchy.cshtml[.cs]` @ `/goals/hierarchy`
|
||||
|
||||
## Key DTOs
|
||||
- `GoalSummaryDto`: Id, Name, CompanyName, DepartmentName, GoalType, CurrentActualValue, CurrentTargetValue, TargetValue, AchievementPercentage (decimal), Status, TagNames, LatestValuePeriodName, Unit
|
||||
- `GoalHierarchyNodeDto`: same + Level, ParentGoalId, HasChildren, ChildCount, Children, ValueSource
|
||||
- `YearDto`: Id, YearNumber (int), Status, IsEditable
|
||||
- `GoalFilterDto`: CompanyId, DepartmentId, YearId, Status, TagId, SearchTerm, ChildFilterMode, Page, PageSize, IsRootGoal
|
||||
|
|
@ -2,11 +2,19 @@
|
|||
|
||||
## Feature-Session Workflow
|
||||
|
||||
When user says `Feature [topic]` at session start:
|
||||
**TRIGGER** (any phrasing at session start that references a feature/topic):
|
||||
- `Feature [topic]`
|
||||
- `zum Feature [topic]`
|
||||
- `wir arbeiten an [topic]`
|
||||
- any similar phrasing indicating a feature or topic context
|
||||
|
||||
**ACTION — always execute immediately on trigger:**
|
||||
1. Look for `docs/feature-[topic].md` in project root (case-insensitive match)
|
||||
2. If found: read it, confirm context loaded, summarize key points briefly
|
||||
3. If not found: inform user that no feature doc exists yet, suggest creating one
|
||||
|
||||
**CRITICAL: Do NOT wait to be explicitly asked. Load the feature doc proactively.**
|
||||
|
||||
When user says `aktualisiere deine Feature-Beschreibung` at session end:
|
||||
1. Locate the relevant `docs/feature-[topic].md`
|
||||
2. Update it with key insights, decisions, and findings from the current session
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@
|
|||
- `ILongRunningJobService` is for services like AD sync, Hydra — they have dedicated JobType enum entries
|
||||
|
||||
|
||||
## Naming
|
||||
- App is called **"KRAH-App"** internally (not "KBS" — that's only the technical project name)
|
||||
|
||||
## HydraArchiveData
|
||||
- Entity: HydraArchiveReloadId, AcquisitionTime, PdatrefPparamDatasupId, DecimalValue
|
||||
- Covering index: (HydraArchiveReloadId, AcquisitionTime, PdatrefPparamDatasupId)
|
||||
|
|
|
|||
|
|
@ -73,6 +73,9 @@ for (var i = 0; i < itResult.RowCount; i++) {
|
|||
- Inherits `GrpcClientBase<ISapOrderService>`
|
||||
- Constructor: `(GrpcChannel, ServiceRegistry, IServiceScopeFactory)`
|
||||
- Methods: `return Client?.MethodName(request);`
|
||||
- **NOT registered in DI** — resolved via `ServiceRegistry.GetClient<T>()` (async)
|
||||
- To use in a service: inject `ServiceRegistry`, then `var client = await serviceRegistry.GetClient<SapListServiceClient>()`
|
||||
- Never inject a `*Client` class directly via constructor DI — it will throw at startup
|
||||
|
||||
### Microservice → Server (IApiComposer callback)
|
||||
- **Interface:** `GrpcProtos/GrpcServices/Contracts/Server/IApiComposer.cs`
|
||||
|
|
|
|||
Loading…
Reference in New Issue