-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
This is a Go based repository with a Ruby client for certain API endpoints. It is primarily responsible for ingesting metered usage for GitHub and recording that usage. Please follow these guidelines when contributing:
Code Standards
Required Before Each Commit
- Run
make fmtbefore committing any changes to ensure proper code formatting - This will run gofmt on all Go files to maintain consistent style
Development Flow
- Build:
make build - Test:
make test - Full CI check:
make ci(includes build, fmt, lint, test)
Repository Structure
cmd/: Main service entry points and executablesinternal/: Logic related to interactions with other GitHub serviceslib/: Core Go packages for billing logicadmin/: Admin interface componentsconfig/: Configuration files and templatesdocs/: Documentationproto/: Protocol buffer definitions. Runmake protoafter making updates here.ruby/: Ruby implementation components. Updates to this folder should include incrementing this version file using semantic versioning:ruby/lib/billing-platform/version.rbtesting/: Test helpers and fixtures
Key Guidelines
- Follow Go best practices and idiomatic patterns
- Maintain existing code structure and organization
- Use dependency injection patterns where appropriate
- Write unit tests for new functionality. Use table-driven unit tests when possible.
- Document public APIs and complex logic. Suggest changes to the
docs/folder when appropriate
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels