Files
Charon/.github/instructions/structure.instructions.md
GitHub Actions 3169b05156 fix: skip incomplete system log viewer tests
- Marked 12 tests as skip pending feature implementation
- Features tracked in GitHub issue #686 (system log viewer feature completion)
- Tests cover sorting by timestamp/level/method/URI/status, pagination controls, filtering by text/level, download functionality
- Unblocks Phase 2 at 91.7% pass rate to proceed to Phase 3 security enforcement validation
- TODO comments in code reference GitHub #686 for feature completion tracking
- Tests skipped: Pagination (3), Search/Filter (2), Download (2), Sorting (1), Log Display (4)
2026-02-09 21:55:55 +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.