This guide provides step-by-step instructions for officially launching Goca as an open source project.
# Ensure you're in the repository
cd c:\Users\Usuario\Documents\go\goca
# Verify remote is correct
git remote -vConfigure Repository Settings:
- Go to GitHub repository settings
- Enable Issues
- Enable Discussions
- Enable Wiki (if desired)
- Set repository description
- Add topics/tags:
go,golang,clean-architecture,cli,code-generator - Set website URL: https://sazardev.github.io/goca
- Protect
masterbranch - Require pull request reviews
- Require status checks to pass
- Enforce signed commits (optional but recommended)
- Enable GitHub Pages for documentation
- Set source to
/docsor configure VitePress deployment - Verify documentation site is accessible
# Verify version is current
goca versionExpected output should show current version (1.13.x)
# Clean build
go clean
go build -o goca.exe
# Test binary
.\goca.exe version
.\goca.exe --help# Run all tests
go test ./...
# Run with coverage
go test -cover ./...
# Run with race detection
go test -race ./...Check that all links work in:
- README.md
- CONTRIBUTING.md
- SECURITY.md
- SUPPORT.md
- All documentation files
- SECURITY.md - Last updated date
- GOVERNANCE.md - Last updated date
- ROADMAP.md - Last review date
- OPEN_SOURCE_CHECKLIST.md - Verification date
- All code examples are current
- Installation instructions work
- Tutorial is complete and accurate
git checkout -b release-prep# Update CHANGELOG.md with release notes
# Update version references if needed
# Final commit
git add .
git commit -m "chore: prepare for open source launch"
git push origin release-prep- Create PR from
release-preptomaster - Review all changes carefully
- Merge when ready
IMPORTANT: Only do this when completely ready
Settings → Danger Zone → Change repository visibility → Public
# Create and push tag
git tag -a v1.13.6 -m "Open source launch release"
git push origin v1.13.6- Go to Releases → Draft a new release
- Choose tag: v1.13.6
- Release title: "v1.13.6 - Open Source Launch"
- Release notes:
# Goca v1.13.6 - Open Source Launch
We're excited to announce that Goca is now open source!
## About Goca
Goca is a professional CLI tool for generating Go applications following Clean Architecture principles. It helps developers focus on business logic by automatically generating clean, well-structured code.
## Features
- Complete Clean Architecture scaffolding
- Layer-based code generation (Domain, Use Case, Handler, Repository)
- Multi-protocol support (HTTP, gRPC, CLI)
- Safety features (dry-run, backups, conflict detection)
- Project templates for common architectures
- Comprehensive documentation
## Installation
See [Installation Guide](https://sazardev.github.io/goca/guide/installation)
## Documentation
- [Getting Started](https://sazardev.github.io/goca/getting-started)
- [Complete Tutorial](https://sazardev.github.io/goca/tutorials/complete-tutorial)
- [Commands Reference](https://sazardev.github.io/goca/commands/)
## Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## Support
- [Documentation](https://sazardev.github.io/goca)
- [GitHub Discussions](https://github.com/sazardev/goca/discussions)
- [Issue Tracker](https://github.com/sazardev/goca/issues)
Thank you for your interest in Goca!- Attach release binaries (if not automated)
- Publish release
Template:
# Introducing Goca - Go Clean Architecture Code Generator
I'm excited to announce the open source release of Goca, a professional CLI tool for generating Go applications following Clean Architecture principles.
## What is Goca?
Goca eliminates boilerplate code and enforces best practices, allowing developers to focus on business logic. It generates production-ready code with proper layer separation, dependency injection, and comprehensive testing support.
## Key Features
- Complete Clean Architecture scaffolding
- Layer-based generation (Domain, Use Case, Handler, Repository)
- Multi-protocol support (HTTP, gRPC, CLI)
- Project templates for common architectures
- Safety features (dry-run, backups, conflict detection)
- Comprehensive documentation
## Quick Start
```bash
# Install from releases
wget https://github.com/sazardev/goca/releases/latest/download/goca-linux-amd64
# Initialize project
goca init myproject --module github.com/username/myproject
# Generate complete feature
goca feature User --fields "name:string,email:string"- Repository: https://github.com/sazardev/goca
- Documentation: https://sazardev.github.io/goca
- Tutorial: https://sazardev.github.io/goca/tutorials/complete-tutorial
Contributions are welcome! Check out the contributing guidelines to get started.
I'd love to hear your feedback and suggestions!
#### 2. Post Announcements
**Platforms to consider:**
- [ ] Reddit
- r/golang
- r/programming (if allowed)
- [ ] Hacker News (Show HN)
- [ ] Dev.to
- [ ] Twitter/X
- [ ] LinkedIn
- [ ] Go Forum
- [ ] Go Slack communities
#### 3. Update Social Profiles
- [ ] Add Goca to GitHub profile
- [ ] Update personal website/blog
- [ ] Update resume/portfolio
### Phase 4: Monitoring (First Week)
#### 1. Daily Tasks
- [ ] Check GitHub issues (respond within 24 hours)
- [ ] Review pull requests
- [ ] Monitor discussions
- [ ] Respond to comments on announcement posts
#### 2. Weekly Tasks
- [ ] Review analytics
- [ ] Update documentation based on feedback
- [ ] Plan next improvements
- [ ] Thank contributors
## Post-Launch Actions
### Immediate (Week 1-2)
1. **Address Issues**
- Prioritize bug fixes
- Clarify documentation
- Answer questions promptly
2. **Welcome Contributors**
- Thank first contributors
- Help with first PRs
- Be encouraging
3. **Documentation Updates**
- Fix any unclear sections
- Add FAQ based on questions
- Improve examples
### Short-term (Month 1-3)
1. **Community Building**
- Engage with users
- Create discussion topics
- Share success stories
2. **Feature Refinement**
- Address common requests
- Fix reported bugs
- Improve user experience
3. **Marketing**
- Write blog posts
- Create video tutorials
- Share use cases
### Long-term (Month 3+)
1. **Roadmap Execution**
- Implement planned features
- Release regular updates
- Maintain momentum
2. **Community Growth**
- Recognize top contributors
- Create community resources
- Foster collaboration
3. **Project Evolution**
- Listen to community feedback
- Adapt roadmap as needed
- Maintain quality standards
## Success Metrics
### Initial Goals (First Month)
- [ ] 50+ stars on GitHub
- [ ] 10+ issues created
- [ ] 3+ pull requests
- [ ] 5+ discussions started
- [ ] 100+ clones
### Growth Goals (First Quarter)
- [ ] 200+ stars
- [ ] Active contributor community
- [ ] Regular releases
- [ ] Growing documentation
- [ ] Positive feedback
## Emergency Contacts
If critical issues arise:
- Email: sazardev@gmail.com
- GitHub: @sazardev
## Rollback Plan
If serious issues are discovered:
1. **Minor Issues**
- Create hotfix branch
- Fix and release patch version
- Update documentation
2. **Major Issues**
- Mark release as pre-release
- Create issue explaining situation
- Work on fix
- Release corrected version
3. **Critical Issues**
- Consider marking repository as archived temporarily
- Fix issues in development
- Re-launch with corrected version
## Launch Day Timeline
**Morning (8:00 AM - 12:00 PM)**
- 8:00 - Final verification
- 8:30 - Make repository public
- 9:00 - Create GitHub release
- 9:30 - Deploy documentation
- 10:00 - Test everything
- 11:00 - Buffer time for fixes
**Afternoon (12:00 PM - 6:00 PM)**
- 12:00 - Lunch and prepare announcements
- 1:00 - Post to Hacker News
- 1:30 - Post to Reddit (r/golang)
- 2:00 - Post to Dev.to
- 2:30 - Share on social media
- 3:00 - Monitor initial responses
- 4:00 - Respond to early feedback
- 5:00 - Day 1 summary
**Evening (6:00 PM onwards)**
- Monitor notifications
- Respond to urgent issues
- Thank early supporters
- Prepare for Day 2
## Communication Templates
### First Issue Response
```markdown
Thank you for opening this issue! I appreciate you taking the time to help improve Goca.
I'll look into this and get back to you within 24 hours.
In the meantime, if you have any additional information that might help, please feel free to add it here.
Thank you so much for your first contribution to Goca! This is exactly the kind of community participation we hoped for.
I'll review this PR carefully and provide feedback soon. If you have any questions about the process, feel free to ask.Thank you for your interest in Goca! It means a lot to see the community engaging with the project.
If you have any questions or suggestions, please don't hesitate to open an issue or discussion.- Stay Professional: Maintain professional tone in all communications
- Be Responsive: Quick responses build community trust
- Be Grateful: Thank everyone for their interest and contributions
- Be Patient: Building a community takes time
- Be Consistent: Regular updates and engagement are key
Before making repository public:
- All sensitive information removed
- All documentation reviewed
- All links verified
- Version numbers correct
- Tests passing
- Build working
- Documentation deployed
- Release notes ready
- Announcement posts drafted
- Time allocated for monitoring
When all items are checked, you're ready to launch!
Good luck with the launch! Remember: launching is just the beginning. The real work is building and maintaining a healthy community around Goca.
You've built something valuable. Now share it with the world! 🚀