Bootstrap the tracker runtime and provider selection #17

Open
opened 2026-08-17 22:01:06 -04:00 by steve · 0 comments
Owner

Part of Provider-neutral tracker automation CLI and library

Parent

Provider-neutral tracker automation CLI and library

What to build

Deliver the standalone Python package and agent-facing CLI foundation. A user can invoke one command and receive a stable JSON envelope while the tool selects GitHub, GitLab, or Gitea explicitly or from the repository context. The foundation must expose the subprocess seam used by all provider adapters and make transient versus non-retryable failures distinguishable.

Acceptance criteria

  • A reusable library API and CLI entry point exist for later tracker operations.
  • Provider selection precedence is --provider, then TRACKER_PROVIDER, then Git remote autodetection.
  • GitHub, GitLab, and Gitea are accepted canonical provider values.
  • Every invocation returns machine-readable JSON on stdout and keeps diagnostics on stderr.
  • Success and failure envelopes identify the operation and provider; failures include stable code and retryability.
  • The subprocess runner can be replaced by tests without live credentials.
  • Provider detection, invalid provider input, ambiguous remotes, and missing provider CLIs have contract tests.

Blocked by

  • None — can start immediately.
Part of [Provider-neutral tracker automation CLI and library](http://gitea.sagacity.ca/steve/skills/issues/16) ## Parent [Provider-neutral tracker automation CLI and library](http://gitea.sagacity.ca/steve/skills/issues/16) ## What to build Deliver the standalone Python package and agent-facing CLI foundation. A user can invoke one command and receive a stable JSON envelope while the tool selects GitHub, GitLab, or Gitea explicitly or from the repository context. The foundation must expose the subprocess seam used by all provider adapters and make transient versus non-retryable failures distinguishable. ## Acceptance criteria - [ ] A reusable library API and CLI entry point exist for later tracker operations. - [ ] Provider selection precedence is --provider, then TRACKER_PROVIDER, then Git remote autodetection. - [ ] GitHub, GitLab, and Gitea are accepted canonical provider values. - [ ] Every invocation returns machine-readable JSON on stdout and keeps diagnostics on stderr. - [ ] Success and failure envelopes identify the operation and provider; failures include stable code and retryability. - [ ] The subprocess runner can be replaced by tests without live credentials. - [ ] Provider detection, invalid provider input, ambiguous remotes, and missing provider CLIs have contract tests. ## Blocked by - None — can start immediately.
steve added the ready-for-agent label 2026-08-17 22:01:06 -04:00
steve added a new dependency 2026-08-17 22:02:02 -04:00
steve added a new dependency 2026-08-17 22:02:10 -04:00
steve added a new dependency 2026-08-17 22:02:10 -04:00
Sign in to join this conversation.