Skip to content

✨ Set up Copilot instructions #12

@pratik-mahalle

Description

@pratik-mahalle

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 fmt before 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 executables
  • internal/: Logic related to interactions with other GitHub services
  • lib/: Core Go packages for billing logic
  • admin/: Admin interface components
  • config/: Configuration files and templates
  • docs/: Documentation
  • proto/: Protocol buffer definitions. Run make proto after 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.rb
  • testing/: Test helpers and fixtures

Key Guidelines

  1. Follow Go best practices and idiomatic patterns
  2. Maintain existing code structure and organization
  3. Use dependency injection patterns where appropriate
  4. Write unit tests for new functionality. Use table-driven unit tests when possible.
  5. Document public APIs and complex logic. Suggest changes to the docs/ folder when appropriate

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions