
go-mate
Configuration management assistant component that helps develop golang projects.
CHINESE README
δΈζθ―΄ζ
Installation
go get github.com/yylego/go-mate/workmate
Usage
Basic Usage
package main
import (
"github.com/yylego/go-mate/workmate"
)
func main() {
// Load configuration
config := workmate.NewWorkspace("mate.json")
// Convert to go-work format
workspace := config.GetWorkspace()
// Now use workspace with go-work commands
}
Configuration
Create configuration mate.json:
{
"workRoot": "/Users/admin/go-projects/mate",
"projects": [
"/Users/admin/go-projects/mate/go-work",
"/Users/admin/go-projects/mate/depbump",
"/Users/admin/go-projects/mate/tago",
"/Users/admin/go-projects/mate/go-lint",
"/Users/admin/go-projects/mate/go-mate"
]
}
mate Ecosystem
# Get tools as needed
go install github.com/yylego/depbump/cmd/depbump@latest # Deps management
go install github.com/yylego/go-commit/cmd/go-commit@latest # Git commits with Go formatting
go install github.com/yylego/go-lint/cmd/go-lint@latest # Code linting
go install github.com/yylego/go-work/cmd/go-work@latest # Workspace management
go install github.com/yylego/tago/cmd/tago@latest # Git tag management
go-mate serves as the configuration management component in the mate ecosystem:
Configuration
β
go-mate (JSON config loading)
β
go-work (workspace execution)
β
Development Tools (depbump, go-commit, go-lint, tago)
π License
MIT License - see LICENSE.
Contributions are welcome! Report bugs, suggest features, and contribute code:
- π Mistake reports? Open an issue on GitHub with reproduction steps
- π‘ Fresh ideas? Create an issue to discuss
- π Documentation confusing? Report it so we can improve
- π Need new features? Share the use cases to help us understand requirements
- β‘ Performance issue? Help us optimize through reporting slow operations
- π§ Configuration problem? Ask questions about complex setups
- π’ Follow project progress? Watch the repo to get new releases and features
- π Success stories? Share how this package improved the workflow
- π¬ Feedback? We welcome suggestions and comments
π§ Development
New code contributions, follow this process:
- Fork: Fork the repo on GitHub (using the webpage UI).
- Clone: Clone the forked project (
git clone https://github.com/yourname/repo-name.git).
- Navigate: Navigate to the cloned project (
cd repo-name)
- Branch: Create a feature branch (
git checkout -b feature/xxx).
- Code: Implement the changes with comprehensive tests
- Testing: (Golang project) Ensure tests pass (
go test ./...) and follow Go code style conventions
- Documentation: Update documentation to support client-facing changes
- Stage: Stage changes (
git add .)
- Commit: Commit changes (
git commit -m "Add feature xxx") ensuring backward compatible code
- Push: Push to the branch (
git push origin feature/xxx).
- PR: Open a merge request on GitHub (on the GitHub webpage) with detailed description.
Please ensure tests pass and include relevant documentation updates.
π Support
Welcome to contribute to this project via submitting merge requests and reporting issues.
Project Support:
- β Give GitHub stars if this project helps you
- π€ Share with teammates and (golang) programming friends
- π Write tech blogs about development tools and workflows - we provide content writing support
- π Join the ecosystem - committed to supporting open source and the (golang) development scene
Have Fun Coding with this package! πππ
GitHub Stars
