Files
Charon/.github/instructions/structure.instructions.md
GitHub Actions 05c2045f06 chore: reorganize repository structure
- Move docker-compose files to .docker/compose/
- Move docker-entrypoint.sh to .docker/
- Move DOCKER.md to .docker/README.md
- Move 16 implementation docs to docs/implementation/
- Delete test artifacts (block_test.txt, caddy_*.json)
- Update all references in Dockerfile, Makefile, tasks, scripts
- Add .github/instructions/structure.instructions.md for enforcement
- Update CHANGELOG.md

Root level reduced from 81 items to ~35 visible items.
2025-12-21 04:57:31 +00:00

3.3 KiB

applyTo, description
applyTo description
* Repository structure guidelines to maintain organized file placement

Repository Structure Guidelines

Root Level Rules

The repository root should contain ONLY:

  • Essential config files (.gitignore, .pre-commit-config.yaml, Makefile, etc.)
  • Standard project files (README.md, CONTRIBUTING.md, LICENSE, CHANGELOG.md)
  • Go workspace files (go.work, go.work.sum)
  • VS Code workspace (Chiron.code-workspace)
  • Primary Dockerfile (entrypoint and compose files live in .docker/)

File Placement Rules

Implementation/Feature Documentation

  • Location: docs/implementation/
  • Pattern: *_SUMMARY.md, *_IMPLEMENTATION.md, *_COMPLETE.md, *_FEATURE.md
  • Never place implementation docs at root

Docker Compose Files

  • Location: .docker/compose/
  • Files: docker-compose.yml, docker-compose.*.yml
  • Override: Local overrides go in .docker/compose/docker-compose.override.yml (gitignored)
  • Exception: docker-compose.override.yml at root is allowed for backward compatibility

Docker Support Files

  • Location: .docker/
  • Files: docker-entrypoint.sh, Docker documentation (README.md)

Test Artifacts

  • Never commit: *.sarif, *_test.txt, *.cover files at root
  • Location: Test outputs should go to test-results/ or be gitignored

Debug/Temp Config Files

  • Never commit: Temporary JSON configs like caddy_*.json at root
  • Location: Use configs/ for persistent configs, gitignore temp files

Scripts

  • Location: scripts/ for general scripts
  • Location: .github/skills/scripts/ for agent skill scripts

Before Creating New Files

Ask yourself:

  1. Is this a standard project file? → Root is OK
  2. Is this implementation documentation? → docs/implementation/
  3. Is this Docker-related? → .docker/ or .docker/compose/
  4. Is this a test artifact? → test-results/ or gitignore
  5. Is this a script? → scripts/
  6. Is this runtime config? → configs/

Directory Structure Reference

/
├── .docker/                    # Docker configuration
│   ├── compose/               # All docker-compose files
│   └── docker-entrypoint.sh   # Container entrypoint
├── .github/                    # GitHub workflows, agents, instructions
├── .vscode/                    # VS Code settings and tasks
├── backend/                    # Go backend source
├── configs/                    # Runtime configurations
├── docs/                       # Documentation
│   ├── implementation/        # Implementation/feature docs archive
│   ├── plans/                 # Planning documents
│   └── ...                    # User-facing documentation
├── frontend/                   # React frontend source
├── scripts/                    # Build/test scripts
├── test-results/               # Test outputs (gitignored)
├── tools/                      # Development tools
└── [standard files]           # README, LICENSE, Makefile, etc.

Enforcement

This structure is enforced by:

  • .gitignore patterns preventing commits of artifacts at root
  • Code review guidelines
  • These instructions for AI assistants

When reviewing PRs or generating code, ensure new files follow these placement rules.