Skip to content

Commit c43e011

Browse files
Merge pull request #1150 from gurnben/agent-readiness-improvements
Improve AI-assisted development readiness: AGENTS.md, templates, .gitignore, pre-commit hooks [Generated by gurnben's Agent]
2 parents 32e4a98 + feb40ce commit c43e011

7 files changed

Lines changed: 237 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help us improve
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Describe the Bug
10+
11+
<!-- A clear and concise description of what the bug is. -->
12+
13+
## Steps to Reproduce
14+
15+
1.
16+
2.
17+
3.
18+
19+
## Expected Behavior
20+
21+
<!-- What you expected to happen. -->
22+
23+
## Actual Behavior
24+
25+
<!-- What actually happened. -->
26+
27+
## Environment
28+
29+
- OS:
30+
- Version:
31+
- Go version (if applicable):
32+
33+
## Additional Context
34+
35+
<!-- Add any other context, logs, or screenshots. -->
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: "[FEATURE] "
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Problem Statement
10+
11+
<!-- A clear description of what problem this feature would solve. -->
12+
13+
## Proposed Solution
14+
15+
<!-- Describe the solution you'd like. -->
16+
17+
## Alternatives Considered
18+
19+
<!-- Any alternative solutions or features you've considered. -->
20+
21+
## Additional Context
22+
23+
<!-- Add any other context or mockups. -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## Description
2+
3+
<!-- Briefly describe the change and its motivation. -->
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix (non-breaking change that fixes an issue)
8+
- [ ] New feature (non-breaking change that adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
10+
- [ ] Documentation update
11+
- [ ] Refactoring (no functional changes)
12+
- [ ] CI/CD or tooling change
13+
14+
## Testing
15+
16+
<!-- Describe the tests you ran and how to reproduce them. -->
17+
18+
- [ ] Unit tests pass (`make test`)
19+
- [ ] Integration tests pass (if applicable)
20+
- [ ] Manual verification completed
21+
22+
## Checklist
23+
24+
- [ ] My code follows the project's coding conventions
25+
- [ ] I have updated documentation as needed
26+
- [ ] I have added tests that prove my fix/feature works
27+
- [ ] All new and existing tests pass

.gitignore

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,40 @@
1313
# local bin directory
1414
/bin
1515
/metamodel_generator/metamodel
16+
17+
# === Additional patterns for agent-readiness ===
18+
# Binaries
19+
*.exe
20+
*.exe~
21+
*.dll
22+
*.so
23+
*.dylib
24+
25+
# Test binary, built with `go test -c`
26+
*.test
27+
28+
# Output of the go coverage tool
29+
*.out
30+
*.prof
31+
32+
# Go workspace file
33+
go.work
34+
go.work.sum
35+
36+
# IDE and editor files
37+
.idea/
38+
.vscode/
39+
*.swp
40+
*.swo
41+
*~
42+
.project
43+
.settings/
44+
45+
# OS files
46+
.DS_Store
47+
Thumbs.db
48+
Desktop.ini
49+
50+
# Build output
51+
/bin/
52+
/dist/

.pre-commit-config.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v5.0.0
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-yaml
8+
args: ['--allow-multiple-documents']
9+
- id: check-added-large-files
10+
args: ['--maxkb=500']
11+
- id: check-merge-conflict
12+
- repo: https://github.com/golangci/golangci-lint
13+
rev: v2.1.2
14+
hooks:
15+
- id: golangci-lint

AGENTS.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# AGENTS.md
2+
3+
This file provides guidance to AI coding assistants when working with this repository.
4+
5+
## Project Overview
6+
7+
OCM SDK for Go — a client library that simplifies interaction with the OpenShift Cluster Manager (OCM) API. Provides type-safe Go bindings generated from the OCM API model, with authentication, pagination, and error handling built in.
8+
9+
## Build & Test Commands
10+
11+
```bash
12+
make generate # Regenerate SDK code from model definitions
13+
make fmt # Format Go source code
14+
make goimports # Organize imports
15+
make lint # Run golangci-lint
16+
make examples # Build example programs
17+
make clean # Remove generated files
18+
```
19+
20+
Tests use Ginkgo:
21+
```bash
22+
make ginkgo-install # Install Ginkgo test runner
23+
ginkgo ./... # Run all tests
24+
```
25+
26+
## Architecture
27+
28+
The SDK is organized by OCM API service area, each in its own top-level package:
29+
30+
- **clustersmgmt/**: Cluster management API bindings
31+
- **accountsmgmt/**: Account management API bindings
32+
- **addonsmgmt/**: Add-on management API bindings
33+
- **servicelogs/**: Service logs API bindings
34+
- **authorizations/**: Authorization API bindings
35+
- **authentication/**: Authentication utilities and token handling
36+
- **configuration/**: SDK configuration
37+
- **errors/**: Error type definitions
38+
- **helpers/**: Shared utility functions
39+
- **logging/**: Logging interfaces
40+
- **testing/**: Test utilities and mock transport
41+
- **examples/**: Usage examples
42+
43+
## Key Conventions
44+
45+
- Module path: `github.com/openshift-online/ocm-sdk-go`
46+
- Most code is auto-generated from the OCM API model — do not edit generated files directly
47+
- Uses builder pattern for constructing API requests
48+
- Ginkgo/Gomega for testing
49+
- Generated files can be identified by their header comments

CLAUDE.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# CLAUDE.md
2+
3+
<!-- Canonical source: AGENTS.md. This file is auto-generated for Claude Code compatibility. -->
4+
5+
This file provides guidance to AI coding assistants when working with this repository.
6+
7+
## Project Overview
8+
9+
OCM SDK for Go — a client library that simplifies interaction with the OpenShift Cluster Manager (OCM) API. Provides type-safe Go bindings generated from the OCM API model, with authentication, pagination, and error handling built in.
10+
11+
## Build & Test Commands
12+
13+
```bash
14+
make generate # Regenerate SDK code from model definitions
15+
make fmt # Format Go source code
16+
make goimports # Organize imports
17+
make lint # Run golangci-lint
18+
make examples # Build example programs
19+
make clean # Remove generated files
20+
```
21+
22+
Tests use Ginkgo:
23+
```bash
24+
make ginkgo-install # Install Ginkgo test runner
25+
ginkgo ./... # Run all tests
26+
```
27+
28+
## Architecture
29+
30+
The SDK is organized by OCM API service area, each in its own top-level package:
31+
32+
- **clustersmgmt/**: Cluster management API bindings
33+
- **accountsmgmt/**: Account management API bindings
34+
- **addonsmgmt/**: Add-on management API bindings
35+
- **servicelogs/**: Service logs API bindings
36+
- **authorizations/**: Authorization API bindings
37+
- **authentication/**: Authentication utilities and token handling
38+
- **configuration/**: SDK configuration
39+
- **errors/**: Error type definitions
40+
- **helpers/**: Shared utility functions
41+
- **logging/**: Logging interfaces
42+
- **testing/**: Test utilities and mock transport
43+
- **examples/**: Usage examples
44+
45+
## Key Conventions
46+
47+
- Module path: `github.com/openshift-online/ocm-sdk-go`
48+
- Most code is auto-generated from the OCM API model — do not edit generated files directly
49+
- Uses builder pattern for constructing API requests
50+
- Ginkgo/Gomega for testing
51+
- Generated files can be identified by their header comments

0 commit comments

Comments
 (0)