Skip to content

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.

FileChange
~/.claude/CLAUDE.mdRemoved “Task & Note Management System” section — was duplicating _WorkingOn/CLAUDE.md; global file now covers only universal rules
monorepo/CLAUDE.mdAdded SD App section + updated Project Overview to mention SvelteKit PWA layer
apps/CLAUDE.mdCreated — stack rules for all SvelteKit apps (Shadcn-Svelte, Paraglide, Tailwind v3 note, Vitest)
apps/sd-app/CLAUDE.mdCreated — full SD App context: project identity, VB6/TDD rules, architecture, Paraglide/Shadcn patterns, phase status, locked decisions, Session Start (MANDATORY) section
  • 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.json created 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.md to reflect all three decisions
  • Vitest installed (^4.0.18) — pnpm test now works; 3/3 pipeline validation tests pass
  • vitest.config.ts created — pure TS config with $lib alias; no SvelteKit plugin overhead for math tests
  • components.json created — 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
  • .claudeignore created in monorepo root — excludes node_modules/, .svelte-kit/, dist/, build/, src/paraglide/, image/font binaries from context searches
  • Memory updated — SD App project memory added; memory index updated
  • @inlang/paraglide-sveltekit@0.16.1 is deprecated — upstream recommends migrating to @inlang/paraglide-js v2 (the SvelteKit adapter is no longer needed). Not urgent before Phase 1, but should be addressed before Phase 2.

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.

    #LoanRateReturnTax RateYears
    1$100,0005.5%7%40%10
    2$100,0005.5%4%40%10
    3$50,0006%7%43%20
    4$200,0005%9%35%15
    5$100,0005.5%0%40%10

Phase 1 Kickoff (After Both Pre-Conditions Done)

Section titled “Phase 1 Kickoff (After Both Pre-Conditions Done)”
  • Issue /clear in 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/) — not apps/ — 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
  • Migrate @inlang/paraglide-sveltekit@inlang/paraglide-js v2 before Phase 2