Claude Code Configuration Upgrades — 2026-03-20
Section titled “Claude Code Configuration Upgrades — 2026-03-20”Session focused on hardening the CLAUDE.md hierarchy and monorepo dev tooling ahead of SD App Phase 1 implementation.
CLAUDE.md Hierarchy Restructure
Section titled “CLAUDE.md Hierarchy Restructure”| File | Change |
|---|---|
~/.claude/CLAUDE.md | Removed “Task & Note Management System” section — was duplicating _WorkingOn/CLAUDE.md; global file now covers only universal rules |
monorepo/CLAUDE.md | Added SD App section + updated Project Overview to mention SvelteKit PWA layer |
apps/CLAUDE.md | Created — stack rules for all SvelteKit apps (Shadcn-Svelte, Paraglide, Tailwind v3 note, Vitest) |
apps/sd-app/CLAUDE.md | Created — full SD App context: project identity, VB6/TDD rules, architecture, Paraglide/Shadcn patterns, phase status, locked decisions, Session Start (MANDATORY) section |
Tech Stack Decisions Documented
Section titled “Tech Stack Decisions Documented”- Paraglide (
@inlang/paraglide-sveltekit) confirmed and documented as i18n standard for SvelteKit apps — already installed and working in sd-app (en/fr) - Shadcn-Svelte confirmed as UI component standard — already the pattern in
src/lib/components/ui/;components.jsoncreated to unlock CLI usage - Tailwind v3/v4 discrepancy resolved: GlobalDevRules updated to note apps use v3 for stability; v4 is the target once shadcn-svelte integration matures
- Updated
GlobalDevRules.mdto reflect all three decisions
SD App Dev Tooling
Section titled “SD App Dev Tooling”- Vitest installed (
^4.0.18) —pnpm testnow works; 3/3 pipeline validation tests pass vitest.config.tscreated — pure TS config with$libalias; no SvelteKit plugin overhead for math testscomponents.jsoncreated — shadcn-svelte CLI can now add components on demand- Pipeline validation test written for
CanadaTaxCalculator.grossUp— confirms TDD infrastructure works; labeled as non-LevPro fixture
Context & Noise
Section titled “Context & Noise”.claudeignorecreated in monorepo root — excludesnode_modules/,.svelte-kit/,dist/,build/,src/paraglide/, image/font binaries from context searches- Memory updated — SD App project memory added; memory index updated
Flags / Future Work
Section titled “Flags / Future Work”@inlang/paraglide-sveltekit@0.16.1is deprecated — upstream recommends migrating to@inlang/paraglide-jsv2 (the SvelteKit adapter is no longer needed). Not urgent before Phase 1, but should be addressed before Phase 2.
Next Steps for Human
Section titled “Next Steps for Human”Before Phase 1 Implementation (Both Blocking)
Section titled “Before Phase 1 Implementation (Both Blocking)”-
Pre-Condition A — Study the LevPro VB6 source for the interest-only calculator. Extract and write down:
- The entry point function name, its inputs and outputs
- How total return is split between dividends and capital gains, and the tax treatment of each
- How capital gains are handled: what portion is realised annually vs. deferred to end of holding period
- ACB tracking: how is adjusted cost base updated each year?
- How the loan is repaid at end (exact VB6 mechanism — after-tax dollars)
- The comparison baseline calculation (unleveraged same cash flows)
- Whether “Better Than” return is computed in LevPro or must be added
- Any rounding or truncation on intermediate values
-
Pre-Condition B — Run LevPro on Windows and record exact outputs for all 5 scenarios below. Capture every field displayed — annual rows AND terminal summary.
# Loan Rate Return Tax Rate Years 1 $100,000 5.5% 7% 40% 10 2 $100,000 5.5% 4% 40% 10 3 $50,000 6% 7% 43% 20 4 $200,000 5% 9% 35% 15 5 $100,000 5.5% 0% 40% 10
Phase 1 Kickoff (After Both Pre-Conditions Done)
Section titled “Phase 1 Kickoff (After Both Pre-Conditions Done)”- Issue
/clearin the current Claude Code session - Restart Claude Code from:
D:\FSS\KB\Business\_WorkingOn\Projects\monorepo\apps\sd-app\(WSL:/home/ta/projects/monorepo/apps/sd-app/) — notapps/— to load the full CLAUDE.md chain including Session Start rules - Open message: Tell Claude: “Continue Phase 1. Task 1 (Vitest) is already done. Here’s the VB6 algorithm: [describe it]. Here are the LevPro outputs for the 5 scenarios: [paste them]. Start from Task 2.”
- Note: the more completely you describe the VB6 algorithm and paste LevPro values, the more accurate the port on the first attempt
Future (Not Blocking Phase 1)
Section titled “Future (Not Blocking Phase 1)”- Migrate
@inlang/paraglide-sveltekit→@inlang/paraglide-jsv2 before Phase 2