25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# Git Workflow & Repository Structure Rules
|
|
|
|
When performing Git operations and managing the repository layout, follow these rules:
|
|
|
|
## 1. Committing Practices
|
|
- **Frequent & Small**: Produce small, logical commits instead of massive monolithic ones.
|
|
- **Conventional Commits**: Commit messages must adhere to the Conventional Commits specification (e.g., `feat: ...`, `fix: ...`, `refactor: ...`).
|
|
- **Single Functionality**: Each commit should relate to exactly one piece of functionality or distinct structural change.
|
|
|
|
## 2. Branching & Merging
|
|
- **Branch `dev`**: The `dev` branch is the primary integration branch for pushing and merging code.
|
|
- **Branch `main`**: Only stable, finalized releases may be pushed to `main`.
|
|
- **Feature Branches**: Organize distinct work into logical feature branches when pushing to the remote server, maintaining an organized Git history.
|
|
|
|
## 3. Artifact Management & Exclusions
|
|
- **LFS Only**: Data files, trained models, and large datasets must **never** be committed directly to Git. Ensure they are tracked with Git Large File Storage (LFS).
|
|
|
|
## 4. Repository Layout Strictness
|
|
Ensure generated code is meticulously placed in the correct directories:
|
|
- `src/` for algorithms, network designs, and core agent modules.
|
|
- `env/` for MuJoCo wrappers and environment definitions.
|
|
- `config/` for experiment configurations (using json, gin, or yaml).
|
|
- `experiments/` for executable scripts.
|
|
- `docs/` for ReadTheDocs or Doxygen documentation, and decision logs.
|
|
- `tests/` for unit tests and verification scripts.
|