To keep the repository clean, readable and scalable across App (Unity), Backend (Go), Web (Next.js) and AI/ML (Python), we follow a structured commit convention.
We use a simplified Conventional Commits format:
<type>(<scope>): <short description>
Example:
feat(app): add EEG signal quality validation
fix(backend): prevent race condition in progress sync
refactor(ai): simplify feature extraction pipeline
docs(project): update architecture diagram
| Type | When to use it |
|---|---|
feat |
New feature |
fix |
Bug fix |
refactor |
Code change without changing behavior |
perf |
Performance improvement |
docs |
Documentation only |
test |
Adding or modifying tests |
chore |
Build/config/dependency changes |
ci |
CI/CD related changes |
style |
Formatting only (no logic change) |
Scope must match one of the system components:
| Scope | Description |
|---|---|
app |
Unity / Mobile App |
backend |
Go API |
web |
Web Dashboard (Next.js) |
ai |
ML model / Python service |
eeg |
EEG processing logic |
infra |
Deployment / Docker / DevOps |
db |
Database changes |
project |
General project files |
experiment |
Research / model experiments |
Example:
feat(ai): add flashcard knowledge verification model
feat(app): implement AR flashcard interaction
perf(eeg): optimize sliding window buffer
- Small
- Focused
- Atomic (one logical change per commit)
- Reversible
- "update stuff"
- "fix"
- "changes"
- Multiple unrelated changes in one commit
Format:
<feature>
Examples:
eeg-preprocessing
backend-session-race-fix
unity-main-thread-perf-upgrade
focus-model-v2
For model experiments, ALWAYS include:
- Dataset version
- Model version
- Accuracy metrics
- Feature description
Example:
experiment(ai): test LSTM model on EEG v0.3 dataset
Dataset: eeg_sessions_v0.3
Features: alpha/beta ratio + blink frequency
Accuracy: 76.2%
This is critical for reproducibility.
- Commit large EEG raw datasets
- Commit trained model weights > 50MB
- Commit secrets (.env, API keys)
- Push directly to main (use PR)
Clean commit history =
β Easier debugging
β Easier paper writing
β Easier experiment tracking
β Easier scaling to contributors
β Professional research-grade repository
NeuroScholAR is a research-grade system.
Treat the repository like a lab notebook.