Skip to content

feat(repo): add creation and approval#3

Merged
raisedadead merged 15 commits into
mainfrom
feat/repo-requests
May 30, 2026
Merged

feat(repo): add creation and approval#3
raisedadead merged 15 commits into
mainfrom
feat/repo-requests

Conversation

@raisedadead
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR wires an end-to-end repo-creation request feature into Artemis, adding GitHub App-backed repo creation, Valkey-backed request tracking, HTTP handlers, routing, config, and tests.

Changes:

  • Adds /api/repo* routes behind feature wiring and implements create/list/get/approve/reject/templates handlers.
  • Adds repo-request domain types plus a Valkey queue store with optimistic transitions.
  • Adds GitHub App JWT/client support and optional config/main wiring for the feature.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
internal/server/server.go Mounts feature-gated repo routes under /api.
internal/server/server_test.go Tests repo routes are mounted only when dependencies are wired.
internal/reporequest/types.go Adds repo-request statuses, visibility, validation, and sentinel errors.
internal/reporequest/types_test.go Covers repo-request domain validation helpers.
internal/reporequest/valkey/store.go Adds Valkey-backed repo-request queue implementation.
internal/reporequest/valkey/store_test.go Tests queue creation, transitions, dedupe, concurrency, and ordering.
internal/handler/handler.go Extends Handlers with repo feature dependencies/config.
internal/handler/repo.go Implements repo request HTTP handlers and repo team authorization.
internal/handler/repo_test.go Tests repo handlers, validation, authz, approval, rejection, and templates.
internal/githubapp/jwt.go Adds GitHub App JWT signer.
internal/githubapp/jwt_test.go Tests key parsing and JWT signing claims.
internal/githubapp/client.go Adds GitHub App REST client for tokens, repo creation, and templates.
internal/githubapp/client_test.go Tests app token caching, repo creation, template creation, and template filtering.
internal/config/config.go Adds optional repo feature and GitHub App configuration.
internal/config/config_repo_test.go Tests repo config defaults, overrides, and partial app config validation.
cmd/artemis/main.go Wires optional repo store, GitHub App client, and repo org auth client into the server.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread internal/handler/repo.go Outdated
Comment thread internal/handler/repo.go Outdated
Comment thread internal/handler/repo.go Outdated
Comment thread internal/githubapp/client.go
Comment thread internal/reporequest/valkey/store.go Outdated
@raisedadead raisedadead changed the title feat(server): wire repo-request routes and app client feat(repo): add creation and approval May 29, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.

Comment thread internal/handler/repo.go Outdated
Comment thread internal/handler/repo.go Outdated
Comment thread internal/githubapp/client.go
Comment thread internal/config/config.go Outdated
@raisedadead raisedadead merged commit 1dca843 into main May 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants