Files
resume/.claude/docs/PROJECT-STRUCTURE.md
2026-03-18 23:32:45 -04:00

10 KiB

Project Structure

Complete overview of your resume project's folder and file organization.


Folder Organization

/home/paul/Public/resume/
│
├── 📁 .claude/                          ← Claude Code project config
│   ├── skills/                          ← Local project skills
│   │   ├── build-resume/                ← Skill: Generate customized resumes
│   │   │   ├── skill.md                 ← Skill definition & docs
│   │   │   ├── BUILD-RESUME-WORKFLOW.md ← Step-by-step workflow
│   │   │   ├── YAML-TEMPLATE.md         ← Copy-paste metadata templates
│   │   │   └── README.md                ← Skill overview
│   │   │
│   │   └── job-search/                  ← Skill: Find & verify job positions
│   │       ├── skill.md                 ← Skill definition & docs
│   │       ├── SEARCH-STRATEGY.md       ← 3-tier search system
│   │       ├── CRITERIA-CHECKLIST.md    ← Position evaluation & scoring
│   │       ├── JOB-BOARDS-TO-SEARCH.md  ← 12+ job board references
│   │       └── README.md                ← Skill overview
│   │
│   ├── settings.local.json              ← Project permissions
│   └── commands/                        ← Custom commands (if any)
│
├── 📁 notes/                            ← Documentation & optimization guides
│   ├── README.md                        ← Overview of notes folder
│   ├── LINKEDIN-OPTIMIZATION.md         ← LinkedIn profile optimization audit
│   └── [other optimization docs]
│
├── 📁 search/                           ← Search results (not committed ❌)
│   └── [discovered positions, temporary files]
│
├── 📁 applications/                     ← Job applications (not committed ❌)
│   ├── zapier/
│   │   └── backend-engineer/
│   │       ├── paul-halvorsen-resume.md
│   │       ├── paul-halvorsen-resume.pdf
│   │       ├── paul-halvorsen-cover-letter.md
│   │       ├── paul-halvorsen-cover-letter.pdf
│   │       └── job-breakdown.md
│   ├── stripe/
│   ├── [23 more companies]
│   └── ...
│
├── 📁 templates/                        ← LaTeX resume templates
│   ├── jb2resume.latex                  ← Classic template
│   ├── jb2resume-modern.latex           ← Modern template (recommended)
│   ├── awesome-cv.latex                 ← Bold modern template
│   ├── cover-letter.latex               ← Cover letter template
│   └── ...
│
├── 📁 files/                            ← Variant resumes/cover letters
│   ├── paul-halvorsen-files-backend-engineer.md
│   ├── paul-halvorsen-files-backend-engineer.pdf
│   └── ...
│
├── 📄 paul-halvorsen-resume-detailed.md ← ⭐ SOURCE OF TRUTH
│   └── Complete background, metrics, all roles, projects, education
│
├── 📄 paul-halvorsen-resume.md          ← Default concise resume
├── 📄 paul-halvorsen-resume.pdf
├── 📄 job_search.html                   ← 35+ verified positions dashboard
├── 📄 index.html                        ← Project index (if any)
│
├── 📄 .gitignore                        ← Ignores: applications/, search/
├── 📄 Makefile                          ← Build commands (make resume, etc)
├── 📄 Dockerfile                        ← Container for resume building
├── 📄 CLAUDE.md                         ← Project instructions for Claude
├── 📄 PROJECT-STRUCTURE.md              ← This file
│
└── 📄 [other git-tracked files]

File Categories

Core Documents (Committed )

Resume Source:

  • paul-halvorsen-resume-detailed.mdSOURCE OF TRUTH for all metrics and facts

    • All roles, responsibilities, metrics
    • All projects and education
    • Used to generate all customized resumes
  • paul-halvorsen-resume.md — Default concise version

  • Templates in templates/ — LaTeX formats for PDF generation

Documentation:

  • PROJECT-STRUCTURE.md — This file (folder overview)
  • CLAUDE.md — Project instructions and rules for Claude Code
  • Makefile — Build and deployment commands

Notes & Guides:

  • notes/ folder — Optimization guides and documentation
    • LINKEDIN-OPTIMIZATION.md — LinkedIn profile audit and strategy
    • [Other reference materials as needed]

Dashboards:

  • job_search.html — Dashboard of 35+ verified positions (or more as you find them)
  • index.html — Main project page (optional)

Local (Not Committed )

.gitignore contents:

  • applications/ — All submitted job applications

    • Each company has a folder: zapier/backend-engineer/, etc.
    • Contains: resume, cover letter, job breakdown, PDFs
    • NOT committed (local work only)
  • search/ — Job search results and discovered positions

    • Temporary files, tracking documents
    • NOT committed (local work only)

Skills (In .claude/skills/)

build-resume/ Skill:

  • skill.md — Skill definition and documentation
  • BUILD-RESUME-WORKFLOW.md — Workflow steps and checklists
  • YAML-TEMPLATE.md — Copy-paste metadata templates
  • README.md — Quick start guide

job-search/ Skill:

  • skill.md — Skill definition and documentation
  • SEARCH-STRATEGY.md — 3-tier search system (daily/weekly/monthly)
  • CRITERIA-CHECKLIST.md — Position evaluation template
  • JOB-BOARDS-TO-SEARCH.md — 12+ job board reference list
  • README.md — Quick start guide

Workflows

Building a Resume

1. Find position (using /job-search skill)
2. Verify on company careers page
3. /build-resume [job description]
   → Creates: applications/company/position/
   → Generates: resume.md, cover-letter.md, job-breakdown.md
4. make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-resume
   → Generates: resume.pdf, cover-letter.pdf
5. Apply to company
6. Log in applications_tracker (memory system)

Searching for Jobs

1. /job-search find-positions
   → Searches job boards from JOB-BOARDS-TO-SEARCH.md
2. Evaluate using CRITERIA-CHECKLIST.md (1-10 fit score)
3. Verify on company careers page
4. /job-search track-found [company] [role] [URL] [fit]
   → Saves to search/
   → Updates job_search.html
5. If good fit → /build-resume to apply

Key Files by Purpose

If you need to...

Build a customized resume:

  • Read: .claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md
  • Use: /build-resume [job description]
  • Templates: .claude/skills/build-resume/YAML-TEMPLATE.md

Find job positions:

  • Read: .claude/skills/job-search/SEARCH-STRATEGY.md
  • Use: /job-search find-positions
  • Boards: .claude/skills/job-search/JOB-BOARDS-TO-SEARCH.md

Evaluate a position:

  • Read: .claude/skills/job-search/CRITERIA-CHECKLIST.md
  • Score: 1-10 fit assessment
  • Track: /job-search track-found [details]

Optimize LinkedIn:

  • Read: notes/LINKEDIN-OPTIMIZATION.md
  • Review: Full audit with recommendations
  • Action: Follow suggested improvements

Understand project rules:

  • Read: CLAUDE.md (no-fabrication rule, resume guidelines)
  • Read: PROJECT-STRUCTURE.md (this file)

Build resume PDFs:

  • Command: make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-resume
  • See: Makefile for all build options
  • Requires: Docker/Podman installed

Memory System

Located at: /home/paul/.claude/projects/-home-paul-Public-resume/memory/

Key memory files:

  • applications_tracker.md — Track all submitted applications
  • user_preferences.md — Your job search criteria and preferences
  • job_search_tracker.md — Platforms, strategies, fit scores
  • feedback_no_fabrication.md — The no-fabrication rule (critical!)

These persist across conversations and track your application workflow.


Build System

Makefile commands:

# Build with modern template (recommended)
make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-resume

# Build with classic template
make resume FILE_NAME=applications/company/position/paul-halvorsen-resume

# Build with awesome-cv template
make resume-awesome FILE_NAME=applications/company/position/paul-halvorsen-resume

# View all options
make help

Source: paul-halvorsen-resume-detailed.md is the source of truth. All customized resumes draw facts from here.


Git Tracking

Committed (in version control):

  • All .md files (guides, documentation, skill docs)
  • CLAUDE.md (project rules)
  • Makefile, Dockerfile (build system)
  • Templates and configurations
  • notes/ folder (documentation)

Not committed (in .gitignore):

  • applications/ — Submitted applications (local only)
  • search/ — Search results (local only)
  • .podman-build — Build cache artifacts

This keeps your repository clean while preserving all your documentation and guides.


Organization Principles

  1. Skill documentation lives in .claude/skills/

    • Self-contained with all needed files
    • Invoked with /skill-name commands
  2. Optimization guides live in notes/

    • LinkedIn optimization, strategy docs, etc.
    • Committed to version control
    • Reference materials for ongoing improvement
  3. Job-specific work lives in applications/

    • One folder per company/position
    • NOT committed (local work)
    • Generated by /build-resume skill
  4. Search results live in search/

    • Discovered positions and searches
    • NOT committed (ephemeral)
    • Generated by /job-search skill
  5. Core resume in project root

    • paul-halvorsen-resume-detailed.md — Source of truth
    • Never fabricate facts; always reference this

Extending This Structure

When adding new documentation:

  • Skill documentation? → Add to .claude/skills/[skill-name]/
  • Optimization guide? → Add to notes/
  • Search output? → Saved in search/
  • Job application? → Saved in applications/[company]/[position]/

Update this file if you make structural changes.


Last Updated: March 18, 2026