Loading...
Loading...
Best practices for organizing project folders, file naming conventions, and directory structure standards for research and development projects
npx skill4agent add delphine-l/claude_global folder-organizationproject-name/
├── README.md # Project overview and getting started
├── .gitignore # Exclude data, outputs, env files
├── environment.yml # Conda environment (or requirements.txt)
├── data/ # Input data (often gitignored)
│ ├── raw/ # Original, immutable data
│ ├── processed/ # Cleaned, transformed data
│ └── external/ # Third-party data
├── notebooks/ # Jupyter notebooks for exploration
│ ├── 01-exploration.ipynb
│ ├── 02-analysis.ipynb
│ └── figures/ # Notebook-generated figures
├── src/ # Source code (reusable modules)
│ ├── __init__.py
│ ├── data_processing.py
│ ├── analysis.py
│ └── visualization.py
├── scripts/ # Standalone scripts and workflows
│ ├── download_data.sh
│ └── run_pipeline.py
├── tests/ # Unit tests
│ └── test_analysis.py
├── docs/ # Documentation
│ ├── methods.md
│ └── references.md
├── results/ # Analysis outputs (gitignored)
│ ├── figures/
│ ├── tables/
│ └── models/
└── config/ # Configuration files
└── analysis_config.yamlproject-name/
├── README.md
├── .gitignore
├── setup.py # Package configuration
├── requirements.txt # or pyproject.toml
├── src/
│ └── package_name/
│ ├── __init__.py
│ ├── core.py
│ └── utils.py
├── tests/
│ ├── test_core.py
│ └── test_utils.py
├── docs/
│ ├── api.md
│ └── usage.md
├── examples/ # Example usage
│ └── example_workflow.py
└── .github/ # CI/CD workflows
└── workflows/
└── tests.ymlproject-name/
├── README.md
├── data/
│ ├── raw/ # Raw sequencing data
│ ├── reference/ # Reference genomes, annotations
│ └── processed/ # Workflow outputs
├── workflows/ # Galaxy .ga or Snakemake files
│ ├── preprocessing.ga
│ └── assembly.ga
├── config/
│ ├── workflow_params.yaml
│ └── sample_sheet.tsv
├── scripts/ # Helper scripts
│ ├── submit_workflow.py
│ └── quality_check.py
├── results/ # Final outputs
│ ├── figures/
│ ├── tables/
│ └── reports/
└── logs/ # Workflow execution logsdata-analysis.pydata_analysis.pyDataAnalysis.pydata analysis.pyprocess-telomere-data.pyscript.pyprocess_all_the_telomere_sequencing_data_from_experiments.pyreport-2026-01-23.pdfmodel-v2.pklreport-final-final-v3.pdfnotebooks/
├── 01-data-exploration.ipynb
├── 02-quality-control.ipynb
├── 03-statistical-analysis.ipynb
└── 04-visualization.ipynbdata/raw/
├── sample-A_hifi_reads_2026-01-15.fastq.gz
├── sample-B_hifi_reads_2026-01-15.fastq.gz
└── reference_genome_v3.fasta.gitignorevenv/conda-env/# Python
__pycache__/
*.py[cod]
*$py.class
.venv/
venv/
*.egg-info/
# Jupyter
.ipynb_checkpoints/
*.ipynb_checkpoints
# Data
data/raw/
data/processed/
*.fastq.gz
*.bam
*.vcf.gz
# Outputs
results/
outputs/
*.png
*.pdf
*.html
# Logs
logs/
*.log
# Environment
.env
environment.local.yml
# OS
.DS_Store
Thumbs.dbdata/raw/data/
├── raw/ # Original, immutable
├── interim/ # Intermediate processing steps
├── processed/ # Final, analysis-ready data
└── external/ # Third-party data# Project Name
Brief description
## Installation
How to set up the environment
## Usage
How to run the analysis/code
## Project Structure
Brief overview of directories
## Data
Where data lives and how to access it
## Results
Where to find outputsproject/
├── script1.py
├── script2.py
├── data.csv
├── output1.png
├── output2.png
└── final_really_final_v3.xlsxnotebooks/
├── notebook1.ipynb
├── test.ipynb
├── analysis.ipynb
└── analysis_new.ipynbproject/
├── src/
│ ├── analysis.py
│ ├── data.csv # Data in source code directory
│ └── figure1.png # Output in source code directoryTODO.mdNOTES.mdresults/# Create standard research project structure
mkdir -p data/{raw,processed,external} notebooks scripts src tests docs results config
touch README.md .gitignore environment.ymlcookiecutter-data-sciencecookiecutter-research