Skip to content

About

A collection of common scaffolding capturing good software engineering patterns

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

33 Commits

Folders and files

Repository files navigation

Metaprogramming Conventions

Quickstart

  1. Copy language folder (clojure, golang, python, or typescript) to your project
  2. make doctor – verify toolchain
  3. make init – bootstrap dependencies (includes git hooks)

Recommended Tools

Optional tooling configurations that can improve your development experience are available in the recommended-tools/ folder. These are not required to build or test the project.

Examples include:

  • direnv – Automatic environment variable loading when entering project directories

See recommended-tools/README.md for details.

Common Make Targets

TargetPurpose
helpShow available commands
doctorVerify required tools
initBootstrap setup
checkRun static analysis
formatApply formatting
testRun tests
buildCreate artifact

Language-Specific Conventions

Clojure

Tools: clojure CLI, clj-kondo, zprint, tagref

Targets: install, repl, check (tagref + clj-kondo + zprint)

See clojure/clojure.org

Golang

Tools: go, gofumpt, golangci-lint, gotestsum, tagref

Targets: sync, install-dev-tools, check (golangci-lint + tagref)

Structure: cmd/, internal/, bin/

Python

Tools: python3, uv, ruff, pytest, basedpyright, bandit, tagref

Targets: venv, install-dev-tools, check (ruff + basedpyright + bandit + tagref)

Structure: src/<package>/, tests/

See python/python.org

TypeScript

Tools: bun, node, tagref

Targets: install, check (Biome + tsc), test (Vitest), build (tsc)

Structure: src/, tests/

Workflow

make doctor → make init → make test → make check → make build

Extending

**Add language:** Create folder, add Makefile with 7 targets, document toolchain

**Add target:** Document here, add to all Makefiles

**Modify tools:** Document rationale, update doctor target

About

A collection of common scaffolding capturing good software engineering patterns

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages