Get project overview - scan <5% of files to achieve 70-80% understanding
Constitution: ANALYSIS_CONSTITUTION.md v1.0
Arguments: ${ARGUMENTS:-.}
Goal: Generate project fingerprint by scanning <5% of files to achieve 70-80% understanding in 10-15 minutes.
Auto-Save: Results automatically saved to .sourceatlas/overview.yaml (or subdirectory-specific path)
Time Limit: 10-15 minutes (typically 0-5 minutes)
If --force is NOT in arguments, check cache first:
Calculate cache path:
.: .sourceatlas/overview.yamlsrc/api): .sourceatlas/overview-src-api.yamlCheck if cache exists:
ls -la .sourceatlas/overview.yaml 2>/dev/null
If cache exists:
π Loading cache: .sourceatlas/overview.yaml (N days ago)
π‘ Add --force to re-analyze
If cache does not exist: Continue with analysis
If --force is in arguments: Skip cache, execute analysis
Execute Stage 0 Analysis Only - generate project fingerprint using information theory principles.
Information Theory Approach:
Execute these phases in order. See workflow.md for complete details.
Purpose: Detect project type, count files, determine scale, set scan limits.
Execute detection:
# Try helper script first (recommended)
if [ -f ~/.claude/scripts/atlas/detect-project.sh ]; then
bash ~/.claude/scripts/atlas/detect-project.sh ${ARGUMENTS:-.}
elif [ -f scripts/atlas/detect-project.sh ]; then
bash scripts/atlas/detect-project.sh ${ARGUMENTS:-.}
else
echo "Warning: detect-project.sh not found, using manual detection"
fi
Scale-Aware Scan Limits:
β See workflow.md#phase-1 for manual fallback
Purpose: Scan highest information-density files first.
Scan Priority Order:
Execute scanning:
# Use helper script if available
if [ -f ~/.claude/scripts/atlas/scan-entropy.sh ]; then
bash ~/.claude/scripts/atlas/scan-entropy.sh ${ARGUMENTS:-.}
else
echo "Warning: scan-entropy.sh not found, scanning manually"
fi
AI Tool Detection:
# Detect AI collaboration level (Tier 1 + Tier 2)
if [ -f ~/.claude/scripts/atlas/detect-ai-tools.sh ]; then
bash ~/.claude/scripts/atlas/detect-ai-tools.sh ${ARGUMENTS:-.}
else
# Fallback: manual checks
ls -la CLAUDE.md .cursorrules .windsurfrules CONVENTIONS.md AGENTS.md .aiignore 2>/dev/null
ls -la .claude/ .cursor/rules/ .windsurf/rules/ .clinerules/ .roo/ .continue/rules/ .ruler/ 2>/dev/null
fi
β See workflow.md#phase-2 for manual commands
Purpose: Generate scale-appropriate hypotheses with confidence levels and evidence.
Hypothesis Categories:
Scale-Aware Targets:
Each hypothesis must include:
β See workflow.md#phase-3 for detailed guidance
Generate output with branded header, then YAML format:
πΊοΈ SourceAtlas: Overview
βββββββββββββββββββββββββββββββ
π [project_name] β [SCALE] ([file count] files)
Then YAML content with sections:
metadata: project_name, scan_time, total_files, scanned_files, scan_ratio, project_scale, contextproject_fingerprint: project_type, scale, primary_language, framework, architecturetech_stack: backend, frontend (optional), infrastructure (optional)hypotheses: architecture, tech_stack, development, ai_collaboration, businessscanned_files: List with file, reason, key_insightsummary: understanding_depth, key_findingsβ See output-template.md for complete YAML structure and examples
Follow Constitution Article VII: Handoffs Principles
β οΈ Choose ONE output, NOT both:
Case A - End (No Table): When any condition is met:
Output:
β
**Analysis sufficient** - Project is small, can read all files directly
Case B - Suggestions (Table): When project scale is large enough or clear next steps exist.
| Finding | Command | Parameter |
|---|---|---|
| Clear patterns | /sourceatlas:pattern |
Pattern name |
| Complex architecture | /sourceatlas:flow |
Entry point file |
| Scale β₯ LARGE | /sourceatlas:history |
No parameters |
| High risk areas | /sourceatlas:impact |
Risk file/module |
Format:
## Recommended Next
| # | Command | Purpose |
|---|---------|---------|
| 1 | `/sourceatlas:pattern "repository"` | Found Repository pattern in 15 files |
π‘ Enter a number (e.g., `1`) or copy the command to execute
β See reference.md#handoffs for detailed logic
Purpose: Prevent hallucinated file paths, incorrect counts, fictional configs. Execute AFTER output generation, BEFORE save.
Verification Steps:
Extract from generated YAML:
scanned_files[].file)tools_detected[].config_file)metadata.total_files)metadata.context.git_branch)hypotheses.*.evidence)Run ALL checks in parallel:
test -f pathtest -f configgit branch --show-currentAdd to footer:
If all passed:
β
Verified: [N] scanned files, [M] config paths, file count
If corrected:
π§ Self-corrected: [list corrections]
β
Verified: [N] scanned files, [M] config paths, file count
β See verification-guide.md for complete checklist and examples
After verification passes, automatically:
mkdir -p .sourceatlas.sourceatlas/overview.yaml.sourceatlas/overview-[path].yamlπΎ Saved to .sourceatlas/overview.yamlβ See reference.md#auto-save for details
Start your output with:
πΊοΈ SourceAtlas: Overview
βββββββββββββββββββββββββββββββ
π [project_name] β [SCALE] ([file count] files)
Then follow YAML structure in output-template.md.