Add comprehensive file naming and versioning standards
- Add FILE-NAMING-AND-VERSIONING.md with complete Semantic Versioning 2.0.0 and Harvard Data Management file naming conventions - Update README.md with file naming standards and semantic versioning workflow - Update KICAD-PROJECT-TEMPLATE.md with comprehensive file naming examples and git workflow - Update hardware/bom/README.md with standardized BOM file naming conventions - Update manufacturing/gerbers/README.md with production-ready Gerber file naming - Update mechanical/stl/README.md with 3D printing file naming including material suffixes - Implement YYYY-MM-DD date format and hyphen-separated naming throughout - Add versioning strategies for hardware, software, and documentation components - Include git tagging strategy and release management guidelines - Provide comprehensive examples for all file types and directories
This commit is contained in:
@@ -149,29 +149,55 @@ your-project/
|
||||
- [ ] Assembly instructions written
|
||||
- [ ] Test procedures documented
|
||||
|
||||
## 🔧 Git Workflow
|
||||
## 🔧 Git Workflow and File Naming
|
||||
|
||||
This template follows **Semantic Versioning 2.0.0** and **Harvard Data Management file naming conventions**. See [FILE-NAMING-AND-VERSIONING.md](FILE-NAMING-AND-VERSIONING.md) for complete details.
|
||||
|
||||
### File Naming Standards
|
||||
- **No spaces**: Use hyphens (-) instead of spaces
|
||||
- **Date format**: YYYY-MM-DD for chronological sorting
|
||||
- **Versioning**: Follow semantic versioning (MAJOR.MINOR.PATCH)
|
||||
- **Structure**: `[project-name]_[component-type]_[description]_[version]_[date].extension`
|
||||
|
||||
### Examples
|
||||
```
|
||||
my-project_bom_v1.2.0_2024-08-04.csv
|
||||
my-project_gerbers_v1.0.0_2024-08-04.zip
|
||||
my-project_user-manual_v1.0.0_2024-08-04.pdf
|
||||
my-project_housing-main_v2.0.0.sldprt
|
||||
my-project_symbols_mcu_v1.0.0.kicad_sym
|
||||
```
|
||||
|
||||
### Initial Setup
|
||||
```bash
|
||||
# After creating KiCad project
|
||||
git add .
|
||||
git commit -m "Initial KiCad project setup"
|
||||
git commit -m "Initial KiCad project setup v1.0.0"
|
||||
git tag -a v1.0.0 -m "Initial release - functional prototype"
|
||||
git remote add origin https://your-git-server.com/username/your-project.git
|
||||
git push -u origin main
|
||||
git push --tags
|
||||
```
|
||||
|
||||
### Development Workflow
|
||||
```bash
|
||||
# Regular development cycle
|
||||
git add .
|
||||
git commit -m "Descriptive commit message"
|
||||
git commit -m "Update component values - v1.0.1"
|
||||
git tag -a v1.0.1 -m "Bug fix - corrected resistor values"
|
||||
git push
|
||||
git push --tags
|
||||
|
||||
# For major milestones
|
||||
git tag -a v1.0.0 -m "Release version 1.0.0"
|
||||
git tag -a v2.0.0 -m "Major PCB redesign with new connector layout"
|
||||
git push --tags
|
||||
```
|
||||
|
||||
### Semantic Versioning Strategy
|
||||
- **MAJOR**: PCB layout changes, connector changes, mechanical incompatibilities
|
||||
- **MINOR**: Component changes, new features, firmware updates
|
||||
- **PATCH**: Documentation updates, BOM corrections, minor fixes
|
||||
|
||||
### Branch Strategy
|
||||
- `main`: Stable, tested designs
|
||||
- `develop`: Active development
|
||||
|
||||
Reference in New Issue
Block a user