Before Your Side Projects Multiply Into Chaos: An 8-Category Ledger and a Symlink Tree
개요
개발자가 개인 프로젝트 수가 늘어남에 따라 발생하는 혼란을 방지하기 위해, 8가지 카테고리로 분류하고 심볼릭 링크(symlink) 트리와 단일 원장(ledger) 파일을 활용하는 프로젝트 관리 시스템을 제시합니다.
주요 내용
* 문제점: 프로젝트들이 여러 디렉토리에 분산되어 있고, 상태(진행 중, 중단, 폐기), 프로덕션 URL, 수익화 여부 등의 메타데이터가 파편화되어 있어 프로젝트 위치와 상태를 파악하는 데 비효율적입니다.
* 해결책: 8가지 카테고리로 프로젝트를 분류하고, 각 프로젝트의 실제 디렉토리 위치를 이동시키지 않으면서 심볼릭 링크와 ~/PROJECTS.md 파일의 단일 원장을 통해 관리합니다.
* 8가지 카테고리: 프로젝트는 제공 방식에 따라 분류되며, 기존 8가지 범주에 맞지 않을 경우에만 새로운 범주를 생성합니다. (예: 웹앱/게임, Chrome 확장 프로그램 및 백엔드 API, iOS 네이티브/랩퍼 앱, 디지털 제품/콘텐츠 판매, 계약/의뢰 작업, Claude/AI 에이전트 관련 도구, PC 자동화/스크립트, 외부 오픈소스 평가/실험)
* 실제 디렉토리 이동 금지: .vercel, launchd plist, git worktree 등 절대 경로에 의존하는 설정들이 깨지는 것을 방지하기 위해 실제 프로젝트 디렉토리는 절대 이동시키지 않습니다.
* 분류 표현 방식: 실제 디렉토리는 그대로 두고, ~/Desktop/All-Projects/<category>/ 경로 아래에 실제 디렉토리를 가리키는 심볼릭 링크를 생성하여 분류를 표현합니다.
* 단일 원장 (~/PROJECTS.md): 각 프로젝트별로 경로, 상태, 수익화 여부, 프로덕션 URL, 주의사항 등의 정보를 포함하는 한 줄로 구성된 파일을 통해 모든 프로젝트 정보를 즉시 조회할 수 있습니다.
* 자동 분류 절차: 새로운 프로젝트 생성 시, 8가지 카테고리 중 하나를 결정하고 실제 디렉토리를 생성한 뒤, 해당 디렉토리의 심볼릭 링크를 생성하고 원장 파일에 항목을 추가하는 절차를 따릅니다. 이는 CLAUDE.md에 기록되어 Claude Code가 자동으로 수행하도록 설정할 수 있습니다.
* 주의사항: 프로젝트 이름이 아닌 제공 방식으로 분류해야 하며, client-work 카테고리의 경우 비밀 키 유출 위험에 주의하고 제3자 소유 원격 저장소로의 푸시를 금지해야 합니다.
시사점
이 시스템은 개인 프로젝트 수가 증가할 때 발생할 수 있는 혼란을 체계적으로 관리하고, 프로젝트의 위치와 상태에 대한 가시성을 확보하여 개발 효율성을 크게 향상시킬 수 있습니다.
댓글
GitHub Discussions