This commit is contained in:
beo3000 2026-03-03 10:04:10 +01:00
parent 20f30ac17b
commit af96f7c234
4 changed files with 56 additions and 2 deletions

View File

@ -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:*)"
]
}
}

View File

@ -50,6 +50,20 @@
],
"defaultMode": "acceptEdits"
},
"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"
]
}
},
"enabledPlugins": {
"csharp-lsp@claude-plugins-official": true
},

View File

@ -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

View File

@ -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