File Organization

Where a file lives is documentation. A predictable layout means a new contributor or an LLM agent can guess the right path on the first try and find what they need without grepping the world. The pages below cover project layout, naming, hierarchy, dotfiles, large-codebase patterns, and config-file discipline.

Pages

  • project-structure: Layout patterns by language and framework; when src/ earns its keep; tests next to source vs. apart; one repo per project.
  • monorepo: When a monorepo makes sense, the workspaces and build tools worth using, and the hidden costs nobody mentions.
  • naming-conventions: kebab-case files, snake_case Python, camelCase JS; no abbreviations; intent over implementation.
  • folder-hierarchy: Shallow beats deep; group by feature, not by type; index files at each level; one folder, one concept.
  • dotfiles: ~/.config/ first, chezmoi or stow for sync, private vs public splits, and the env-var-vs-dotfile rule.
  • large-codebase: Patterns above 100k LoC; CODEOWNERS at folder level; modular monolith vs microservices; build sharding.
  • config-files: One source of truth (pyproject.toml, package.json); avoid config sprawl; env-specific overrides in .env.<env>.