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:
31
README.md
31
README.md
@@ -152,33 +152,50 @@ meta/ # Project metadata
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Git Workflow
|
||||
## 🔄 Git Workflow and Versioning
|
||||
|
||||
This project 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)
|
||||
- **Examples**: `my-project_bom_v1.2.0_2024-08-04.csv`
|
||||
|
||||
### Initial Setup
|
||||
```bash
|
||||
# After creating your KiCad project
|
||||
git add .
|
||||
git commit -m "Add KiCad project files"
|
||||
git commit -m "Add KiCad project files v1.0.0"
|
||||
git tag -a v1.0.0 -m "Initial release - functional prototype"
|
||||
git push
|
||||
git push --tags
|
||||
```
|
||||
|
||||
### Regular Development
|
||||
```bash
|
||||
# After making changes
|
||||
git add .
|
||||
git commit -m "Describe your changes"
|
||||
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
|
||||
```
|
||||
|
||||
### Release Preparation
|
||||
```bash
|
||||
# Generate manufacturing files
|
||||
# Update documentation
|
||||
# Tag release
|
||||
git tag -a v1.0.0 -m "Release version 1.0.0"
|
||||
# Generate manufacturing files with version numbers
|
||||
# Update documentation with new version
|
||||
# Tag release following semantic versioning
|
||||
git tag -a v2.0.0 -m "Major PCB redesign with new connector layout"
|
||||
git push --tags
|
||||
```
|
||||
|
||||
### Version Strategy
|
||||
- **MAJOR**: PCB layout changes, connector changes, mechanical incompatibilities
|
||||
- **MINOR**: Component changes, new features, firmware updates
|
||||
- **PATCH**: Documentation updates, BOM corrections, minor fixes
|
||||
|
||||
---
|
||||
|
||||
## 📝 License
|
||||
|
||||
Reference in New Issue
Block a user