Skip to content

rappjer1/lab-paper-git-workflow

Repository files navigation

Paper Scaffold

Tests Python License

Paper Scaffold is a lightweight Python CLI and documentation set for creating clean manuscript repositories from selected research outputs.

What It Is

Paper Scaffold helps you keep manuscript source, selected figures/tables, and provenance metadata in a separate repository from research code and generated outputs. It is designed for local-first workflows that may later connect to GitHub and Overleaf.

Core message: Keep research code and manuscript source separate. Copy only selected paper-ready artifacts into the manuscript repo, then validate the repo before syncing or sharing.

It does not write the paper, create remote repositories, compile LaTeX, upload to Overleaf, choose artifacts for you, or replace review.

Start Here

Try the tool from a checkout:

python scripts/paper-scaffold.py self-test
python scripts/paper-scaffold.py demo --output scratch/demo_manuscript --overwrite
python scripts/paper-scaffold.py validate --manuscript-repo scratch/demo_manuscript --write-json scratch/demo_manuscript/validation_report.json

Choose A Workflow

Starting point Read Main commands
Try the tool five-minute demo self-test, demo, validate
Python figures or tables Python outputs walkthrough discover-artifacts, copy-artifacts, provenance-report
Existing LaTeX folder LaTeX cleanup walkthrough doctor, validate, check-figures, check-citations
Submission package pre-submission walkthrough release-check, freeze-artifacts, package-submission
Revision round reviewer response walkthrough provenance-report, reviewer-binder, compare-lock
Unsure which workflow? recipes list, recipes show <id>

Recipe commands:

paper-scaffold recipes list
paper-scaffold recipes show pre-submission-flight-check
paper-scaffold release-check --manuscript-repo ./paper

Use-case recipe docs: docs/use_cases.

Install Or Run Without Install

No install is required from a checkout:

git clone https://github.com/rappjer1/lab-paper-git-workflow.git
cd lab-paper-git-workflow
python scripts/paper-scaffold.py --help
python scripts/paper-scaffold.py self-test

Editable install:

python -m pip install -e ".[dev]"
paper-scaffold --help

Installed fallback when the console script is not on PATH:

python -m paper_scaffold --help
python -m paper_scaffold self-test

Install details and platform notes: docs/install.md, docs/compatibility.md, docs/troubleshooting.md.

Core Commands

  • self-test: run a no-network smoke workflow.
  • demo: create a synthetic manuscript repo.
  • init: create a clean manuscript repo scaffold.
  • discover-artifacts: find likely manuscript figures and tables.
  • copy-artifacts: copy manifest-listed artifacts.
  • validate: check manuscript structure, metadata, terminology, and Git state.
  • release-check: run consolidated pre-submission checks.
  • provenance-report: write a Markdown/JSON artifact bill of materials.
  • stale-artifacts and unused-artifacts: find outdated or unreferenced manuscript artifacts.
  • freeze-artifacts and compare-lock: lock artifact hashes and detect drift.
  • add-manuscript-ci: add a dependency-free manuscript hygiene workflow.
  • package-submission: create a clean local submission folder.
  • reviewer-binder: create a revision-round checklist and evidence folder.

Complete list: docs/cli_reference.md. Diagnostic codes: docs/error_codes.md.

Public safety and release hygiene:

What Not To Commit

Keep manuscript repositories small and reviewable. Do not commit:

  • Raw data dumps or external data exports.
  • Model checkpoints, prediction caches, and generated run folders.
  • Large binary arrays or archives such as .npz, .pt, .pth, .pkl, .pickle, .nc, .zarr, or .zip.
  • Full output trees when only selected paper artifacts are needed.
  • API credentials, machine-local paths, or personal notes.
  • LaTeX build files such as .aux, .log, .bbl, .out, .toc, and .synctex.gz.

Examples And Walkthroughs

Examples are synthetic and intentionally small.

Provenance And Reports

Paper Scaffold records what was copied, where it came from, whether manuscript files reference it, and whether hashes changed after locking.

Stability

The v0.9 series is the release-candidate hardening series for v1.0. Command names, documented flags, schemas, diagnostic codes, and exit-code conventions are being frozen.

Post v1.0

v1.0.1 is a post-release metadata and repository-layout patch. It preserves the current CLI, schema, diagnostic, test, package-build, install-matrix, and public-safety checks without adding major user workflows.

Contributing

Contributions should keep examples generic, small, and public-safe. Add tests for CLI or docs-contract changes and run the maintainer checks in CONTRIBUTING.md.

Citation

If Paper Scaffold helps your project, cite or acknowledge it using CITATION.cff or link to this repository.

License

MIT. See LICENSE.

About

Workflow for using git and overleaf for paper development

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors