project-context-loader
Project Context Loader
Priority: HIGH - Use before any workflow or code generation
When to Use
BEFORE:
workflow:startor any implementation- Any code generation or new files
- Refactoring or writing tests
SKIP only for: Simple questions (no code), when session-context.toon already loaded
Loading Process
1. Check for Cached Context
# If session context exists and is recent (< 1 hour), use it
if [ -f ".claude/session-context.toon" ]; then
Read .claude/session-context.toon
# Skip full scan
fi
2. Generate Session Context (If Missing)
Scan Codebase Patterns
# File naming convention
ls src/components/ | head -5 # PascalCase or kebab-case?
# Import style
Grep: "^import.*from ['\"]@/" --type ts # Absolute paths?
Grep: "^import.*from ['\"]\.\./" --type ts # Relative paths?
# Export pattern
Grep: "^export default" --type ts
Grep: "^export (const|function)" --type ts
# Error handling
Grep: "Result<|Either<" --type ts # Functional?
Grep: "try.*catch" --type ts # Exception-based?
Generate TOON File
Write to .claude/session-context.toon:
# Session Context - Auto-generated
# Generated: {timestamp}
---
project:
name: {from package.json}
stack: {detected}
patterns[6]{type,convention,example}:
file_naming,{PascalCase|kebab-case},{example}
imports,{absolute|relative},{example}
exports,{named|default},{example}
errors,{result|exceptions},{example}
testing,{jest|vitest},{example}
styling,{tailwind|css-modules},{example}
workflow:
phase: {current}
feature: {name}
branch: {git branch}
3. Load Project-Specific Config
Location: .claude/project-contexts/[project]/
| File | Contains | Priority |
|---|---|---|
project-config.yaml |
Tech stack, integrations, entry points | Always load |
conventions.md |
Naming, code style, patterns, idioms | Always load |
rules.md |
Project-specific rules | Always load |
repo-map.md |
Annotated directory tree with purposes | Load on first task |
file-registry.yaml |
Key files: entry points, configs, hub files | Load when modifying code |
architecture.md |
Module map, data flow, patterns, dependencies | Load for architecture decisions |
4. Merge Priority
session-context.toon (cached patterns — 12 detections)
↓
project-contexts/conventions.md (overrides)
↓
project-contexts/repo-map.md + file-registry.yaml + architecture.md (deep context)
↓
Aura Frog core rules (defaults)
5. Smart Loading Strategy
Not all context files need loading every time. Use this routing:
loading_strategy[4]{scenario,files_to_load}:
Simple question (no code),session-context.toon only
Bug fix / small change,"session-context.toon + conventions.md + file-registry.yaml"
New feature / refactor,"All 7 files (full context)"
Architecture decision,"session-context.toon + architecture.md + repo-map.md"
Token budget per scenario:
- Simple: ~200 tokens
- Bug fix: ~800 tokens
- Full context: ~2000 tokens
- Architecture: ~1000 tokens
Session Context Template
# Session Context
# Generated: 2026-03-20T10:00:00Z
# Valid for: 1 hour (regenerate if stale)
---
project:
name: my-app
stack: React,TypeScript,TailwindCSS
patterns[12]{type,convention,example}:
file_naming,PascalCase,UserProfile.tsx
imports,absolute @/,import { Button } from '@/components/Button'
exports,named,export const UserCard = ...
errors,result,return { ok: true, data }
testing,vitest,describe('UserCard', () => ...)
styling,tailwind,className="flex items-center"
indentation,2-space,2-space
state_mgmt,zustand,zustand
api_pattern,react-query,react-query
components,functional,functional
env,dotenv-multi,dotenv-multi
monorepo,none,none
workflow:
phase: 4
feature: user-authentication
branch: feature/user-auth
decisions[2]{id,choice}:
auth,JWT tokens
storage,Redis session
Token Efficiency
| Approach | Tokens |
|---|---|
| Full repo re-scan | ~5000-10000 |
| All 7 context files | ~2000 |
| Session context TOON (12 patterns) | ~200 |
| Savings vs re-scan | 95-98% |
Commands
Generate Context Manually
bash scripts/context-compress.sh
Clear Context (Force Rescan)
rm .claude/session-context.toon
If Context Missing
⚠️ **Project context not found!**
Generating session-context.toon from codebase scan...
Run `project:init` for full project config.
Related:
rules/agent/codebase-consistency.md- Pattern matching ruleskills/session-continuation/SKILL.md- Workflow state + handoffscripts/context-compress.sh- Context generator
More from nguyenthienthanh/aura-frog
stitch-design
Generate UI designs using Google Stitch AI with optimized prompts
36angular-expert
Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.
31flutter-expert
Flutter/Dart mobile expert. PROACTIVELY use when working with Flutter, Dart, mobile apps. Triggers: flutter, dart, widget, bloc, riverpod
16seo-expert
SEO and search engine optimization expert. PROACTIVELY use when working with meta tags, structured data, Core Web Vitals, sitemap, robots.txt, canonical URLs. Triggers: SEO, meta tags, schema markup, search ranking
13dev-expert
Development patterns for React, Vue, Laravel, Next.js, React Native - state management, forms, API integration
13react-native-expert
React Native best practices expert. PROACTIVELY use when working with React Native, mobile apps, Expo. Triggers: react-native, expo, mobile, iOS, Android, NativeWind
13