From 2de04a6ea662eb3b7ccb391490d5c63819bfc37c Mon Sep 17 00:00:00 2001 From: "Rifqi D. Panuluh" <69516665+nuluh@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:02:35 +0700 Subject: [PATCH] Create CONTRIBUTING.md --- docs/CONTRIBUTING.md | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/CONTRIBUTING.md diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..3daa472 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,66 @@ +This document outlines the process for developing and contributing to my own thesis project. By following these guidelines, this will ensure consistent quality and maintain a clear development history. + +## Development Workflow + +### 1. Issue Creation +Before working on any new feature, experiment, or bug fix: +- Create a GitHub issue using the appropriate template +- Assign it to myself +- Add relevant labels +- Link it to the project board if applicable + +### 2. Branching Strategy +Use the following branch naming convention: +- `feature/-short-description` +- `bugfix/-short-description` +- `experiment/-short-description` +- `doc/-short-description` + +Always branch from `main` for new features/experiments. + +### 3. Development Process +- Make regular, atomic commits following the commit message template +- Include the issue number in commit messages (e.g., "#42") +- Push changes at the end of each work session + +### 4. Code Quality +- Follow PEP 8 guidelines for Python code +- Document functions with docstrings +- Maintain test coverage for custom functions +- Keep notebooks clean and well-documented + +### 5. Pull Requests +Even working alone, use PRs for significant changes: +- Create a PR from your feature branch to `main` +- Reference the issue(s) it resolves +- Include a summary of changes +- Self-review the PR before merging + +### 6. Versioning +Follow semantic versioning: +- Major version: Significant thesis milestones or structural changes +- Minor version: New experiments, features, or chapters +- Patch version: Bug fixes and minor improvements + +### 7. Documentation +Update documentation with each significant change: +- Keep README current +- Update function documentation +- Maintain clear experiment descriptions in notebooks +- Record significant decisions and findings + +## LaTeX Guidelines +- Use consistent citation style +- Break long sections into multiple files +- Use meaningful label names for cross-references +- Consider using version-control friendly LaTeX practices (one sentence per line) + +## Experiment Tracking +For each experiment: +- Create an issue documenting the experiment design +- Reference related papers and previous experiments +- Document parameters and results in the notebook +- Summarize findings in the issue before closing + +## Commit Categories +Use the categories defined in the commit template to clearly classify changes.