Skip to content

Latest commit

 

History

History
131 lines (103 loc) · 5.86 KB

File metadata and controls

131 lines (103 loc) · 5.86 KB

abc-project-template

A grow-as-you-need template for data science, bioinformatics, and academic-research projects.

License: MIT Copier Just

abc-project-template is a Copier template built around a Garden model: most capabilities are dormant when you scaffold, and you grow them on demand. This keeps new projects focused while preserving the full spectrum of tooling for when you need it.

Quick start

copier copy --trust gh:abc-cluster/abc-project-template my-project
cd my-project
just tour       # 5-line orientation
just doctor     # check tools

What you get

  • ✅ A flat, navigable project structure — no analysis/ wrapper; top-level notebooks/, data/, src/, pipelines/, tests/, writeup/
  • 70+ dormant components in .garden/ — grow only what you need
  • Curated bundles (just grow preset:bioinformatics) for common workflows
  • Cross-platform recipes (bash + PowerShell pairing where it matters)
  • CI-gated safety net — every change verified against 54 CTT scenarios

The Garden model

just garden                       # what's planted vs dormant
just garden-list dormant          # browse 70+ available components
just grow data:features           # plant a component
just grow preset:bioinformatics   # plant a curated bundle
just prune <component>            # archive back to dormant
just replant                      # apply project_type defaults

The full template ships in every project, but most of it sleeps in .garden/ until you wake it. Adding capability is one command. Removing it is one command. The active root stays small until you decide otherwise.

Documentation

Project structure (flat)

my-project/
├── notebooks/        exploratory work
├── data/             raw / intermediate / primary / reports
├── src/              importable library code
├── scripts/          operational scripts
├── pipelines/        DVC + Nextflow + Snakemake
├── tests/            test suite
├── writeup/
│   └── manuscript/   active by default; other formats via `just grow writeup:*`
├── config/           project-level configs
├── tasks/            modular justfile recipes (one file per area)
└── .garden/          seed bank — dormant components

Plus standard tool config at root: pyproject.toml, pixi.toml, environment.yml, dvc.yaml, .pre-commit-config.yaml, etc.

Project types (preset bundles at scaffold)

Choice Auto-plants
Minimal Starter core:base only
Full Academic Project core + 12 data/writeup/infra/pipeline components
Analysis Only core + 6 data: + infra:env-setup
Manuscript Only core + 5 writeup formats
Package Development core + build:bazel + infra:env-setup
Custom core only — user grows the rest

Plus named presets (plant after scaffold via just grow preset:<name>): bioinformatics, ml-research, academic-writing, full-academic.

Prerequisites

  • Python 3.10+
  • copier (pipx install copier)
  • just (brew install just / cargo install just)
  • Optional: pixi, uv, dvc, quarto

See USAGE.md §1 for full install instructions.

For contributors

Acknowledgements

This template grew out of earlier personal scaffolding work (analyze-and-publish-template) and was substantially rebuilt through iterative AI-assisted development across multiple design phases. The Garden model, seed-bank architecture, and cross-platform tooling represent a significant departure from that starting point, but the original project provided the initial structure and direction.

The template draws on the broader ecosystem of community tools that make this kind of work possible: Copier for template management, Just as the task runner backbone, Quarto for reproducible manuscripts, Pixi for environment management, DVC for data versioning, Nextflow and nf-core for pipeline conventions, and nf-nomad as the executor. We are grateful to the authors and maintainers of all these projects.

License

MIT — see LICENSE.