6.9 KiB
File Placement Guide - Where to Save Files
Purpose: Ensure all new files are saved to appropriate project/client folders Last Updated: 2026-01-20
Quick Reference
| File Type | Example | Save To |
|---|---|---|
| DOS Batch Files | *.BAT |
projects/dataforth-dos/batch-files/ |
| DOS Deployment Scripts | deploy-*.ps1, fix-*.ps1 |
projects/dataforth-dos/deployment-scripts/ |
| DOS Documentation | DOS_*.md |
projects/dataforth-dos/documentation/ |
| DOS Session Logs | Session notes | projects/dataforth-dos/session-logs/ |
| Client Info | Client details | clients/[client-name]/CLIENT_INFO.md |
| Client Session Logs | Support notes | clients/[client-name]/session-logs/ |
| ClaudeTools API Code | *.py, migrations |
api/, migrations/ (keep existing structure) |
| ClaudeTools API Logs | Session notes | projects/claudetools-api/session-logs/ |
| General Session Logs | Mixed work | session-logs/YYYY-MM-DD-session.md |
| Credentials | All credentials | credentials.md (root - shared) |
Rules for New Files
1. Determine Context First
Ask yourself: What project or client is this related to?
- Dataforth DOS →
projects/dataforth-dos/ - ClaudeTools API →
projects/claudetools-api/or root API folders - Specific Client →
clients/[client-name]/ - Multiple projects → Root or
session-logs/
2. Choose Appropriate Subfolder
Within project folder:
projects/[project-name]/
├── batch-files/ # .BAT files (DOS only)
├── scripts/ # .ps1, .sh, .py scripts
├── deployment-scripts/ # Deployment-specific scripts (DOS)
├── documentation/ # .md documentation files
├── session-logs/ # Daily session logs
└── [custom-folders]/ # Project-specific folders
Within client folder:
clients/[client-name]/
├── CLIENT_INFO.md # Master client information
├── session-logs/ # Support session logs
├── documentation/ # Client-specific docs
└── [custom-folders]/ # Client-specific folders
3. Naming Conventions
Session Logs:
- Format:
YYYY-MM-DD-session.md - Location:
projects/[project]/session-logs/orclients/[client]/session-logs/
Documentation:
- Descriptive names:
DOS_FIX_SUMMARY.md,DEPLOYMENT_GUIDE.md - Location:
projects/[project]/documentation/
Scripts:
- Descriptive names:
deploy-to-nas.ps1,fix-xcopy-error.ps1 - Location:
projects/[project]/deployment-scripts/orprojects/[project]/scripts/
Batch Files (DOS):
- Uppercase:
NWTOC.BAT,UPDATE.BAT - Location:
projects/dataforth-dos/batch-files/
Examples by Scenario
Scenario 1: Working on Dataforth DOS Bug Fix
Files Created:
NWTOC.BAT(modified) →projects/dataforth-dos/batch-files/NWTOC.BATdeploy-nwtoc-fix.ps1→projects/dataforth-dos/deployment-scripts/deploy-nwtoc-fix.ps1NWTOC_FIX_2026-01-20.md→projects/dataforth-dos/documentation/NWTOC_FIX_2026-01-20.md- Session log →
projects/dataforth-dos/session-logs/2026-01-20-session.md
Scenario 2: Helping Horseshoe Management Client
Files Created:
- Update client info →
clients/horseshoe-management/CLIENT_INFO.md - Session log →
clients/horseshoe-management/session-logs/2026-01-20-session.md - Fix script (if created) →
clients/horseshoe-management/scripts/fix-glance.ps1
Scenario 3: Adding ClaudeTools API Endpoint
Files Created:
- New router →
api/routers/new_endpoint.py(existing structure) - Migration →
migrations/versions/xxx_add_table.py(existing structure) - Session log →
projects/claudetools-api/session-logs/2026-01-20-session.md - API docs →
projects/claudetools-api/documentation/NEW_ENDPOINT.md
Scenario 4: Mixed Work (Multiple Projects)
Files Created:
- Session log →
session-logs/2026-01-20-session.md(root) - Reference all projects worked on in the log
- Project-specific files still go to project folders
Automatic File Placement Checklist
Before saving a file, ask:
-
Is this project-specific?
- YES → Save to
projects/[project-name]/[appropriate-subfolder]/ - NO → Continue to next question
- YES → Save to
-
Is this client-specific?
- YES → Save to
clients/[client-name]/[appropriate-subfolder]/ - NO → Continue to next question
- YES → Save to
-
Is this a session log?
- Project-specific work →
projects/[project]/session-logs/ - Client-specific work →
clients/[client]/session-logs/ - Mixed/general work →
session-logs/(root)
- Project-specific work →
-
Is this shared infrastructure (credentials, main configs)?
- YES → Save to root (e.g.,
credentials.md,SESSION_STATE.md) - NO → Reevaluate context
- YES → Save to root (e.g.,
-
Is this core ClaudeTools API code?
- YES → Use existing structure (
api/,migrations/, etc.) - NO → Project folder
- YES → Use existing structure (
When to Update Index Files
After creating new files, update:
-
Project Index:
projects/[project-name]/PROJECT_INDEX.md- Add new files to relevant sections
- Update file counts
- Update "Last Updated" date
-
Client Info:
clients/[client-name]/CLIENT_INFO.md- Add new issues/resolutions
- Update "Last Contact" date
-
Master Organization:
PROJECT_ORGANIZATION.md(only for major changes)- Update file counts quarterly or after major restructuring
Special Cases
Temporary/Test Files
- Keep in root temporarily
- Move to appropriate folder once work is confirmed
- Delete if no longer needed
Shared Utilities/Scripts
- If used across multiple projects →
scripts/(root) - If project-specific →
projects/[project]/scripts/
Documentation That Spans Projects
- Create in most relevant project folder
- Reference from other project indexes
- Or save to root
documentation/if truly cross-project
Archived Projects
- Move to
projects/[project-name]-archived/ - Update PROJECT_ORGANIZATION.md
Enforcement
When using /save command:
- Automatically determine correct session-logs/ location
- Remind user of file placement rules
- Update relevant index files
During code review:
- Check file placement
- Verify project/client organization
- Ensure indexes are updated
Monthly maintenance:
- Review root directory for misplaced files
- Move files to correct locations
- Update all index files
Quick Commands
Create new project:
mkdir -p projects/[project-name]/{scripts,documentation,session-logs}
cp PROJECT_INDEX_TEMPLATE.md projects/[project-name]/PROJECT_INDEX.md
Create new client:
mkdir -p clients/[client-name]/session-logs
cp CLIENT_INFO_TEMPLATE.md clients/[client-name]/CLIENT_INFO.md
Find misplaced files:
# Files that should be in project folders
ls -1 *.BAT *.ps1 *FIX*.md *DEPLOY*.md | grep -v projects/
Remember: Good organization now saves hours of searching later!
Context Recovery Depends On: Files being in predictable, consistent locations!