Repository navigation
Workspace Restructuring for Scalable Job Applications (Domain-Driven Structure) #522
Replies: 1 comment 1 reply
|
Thanks for writing this up with screenshots. Two different problems in it, with different answers. The aux clutter is a real annoyance, and the fix is already in the workflow: The per-company folder tree I am going to decline, and I want to be clear it is not about the idea. The flat |
Uh oh!
There was an error while loading. Please reload this page.
Workspace Restructuring Proposal
1. The Problem
The current repository structure suffers from two major design flaws when scaling the number of job applications:
.aux,.log,.out) alongside the.texand.pdffiles. This clutters the workspace and makes it extremely difficult to navigate and find the actual output files.cv/directory and all cover letters into acover_letters/directory. If a user applies to 50 jobs, these folders become unmanageable dumping grounds. Searching for the exact CV and Cover Letter submitted to a specific company requires matching filenames manually.Here is what the workspace looks like after generating documents for just 5 job applications:
CV Directory Clutter:


Cover Letters Directory Clutter:



2. The Proposed Solution
We propose shifting from a "File-Type Driven" structure to a "Domain-Driven" structure. Applications should be grouped by the entity they belong to: The Company and the Role.
2.1 Directory Restructuring
Instead of a flat global list, we will maintain the separation of
cv/andcover_letters/(to support users who only want to generate one or the other independently), but apply the Company/Role hierarchy inside both.Proposed Architecture:
Benefits:
_2).2.2 LaTeX Clutter Management
To solve the clutter issue, the system will isolate auxiliary files completely:
.aux,.log,.out, etc.) will be directed into a hidden folder named.out/inside the respective role directory..out/to.gitignoreso users never have to think about or commit these files.pdflatex -output-directory=.out) will also put the.pdfinside.out/, the compilation script/command will automatically move the final.pdfback to the role folder so it remains visible to the user.3. Implementation Plan
To submit this as a Contribution (PR) to the repository, the following files need to be updated:
CLAUDE.md/AGENTS.md:companies/[Company]/[Role]/structure.cv/andcover_letters/..claude/skills/job-application-assistant/06-cover-letter-templates.md:xelatex cover.tex && rm *.aux *.log *.out)..gitignore:.out/and global ignores for LaTeX auxiliary files to ensure zero clutter is tracked by Git.Template Migration:
main_example.tex,cover.cls,OpenFonts/) into a dedicatedtemplates/folder so they are isolated from user-generated content.Python Scripts (
tools/):tools/verify_layout.py&tools/verify_pdf.py: Update the hardcoded paths that expect files to be in the root ofcv/orcover_letters/.tools/security_guards.py: Update the glob patterns (e.g.,"cv/main_*.*") to match the new nested structure ("cv/companies/**/*.tex").Tests (
tests/):test_apply_records_application.py,test_tracker_notes_csv_safe.py, andtest_apply_page_count.py) that mock or assert the creation of files in the old flat structure.Documentation:
README.md,SETUP.md, anddocuments/README.mdto reflect the new directory trees.All reactions