Problem
99problems currently supports GitHub, GitLab, Jira, and Bitbucket, but not Forgejo.
Users on Forgejo instances cannot use get for issue/PR context retrieval, which blocks adoption in self-hosted and Forgejo-centric environments.
Design
Implement Forgejo provider v1 with balanced parity:
- search + ID fetch for issues and pull requests,
- issue comments + PR review comments,
- link hydration from timeline/dependencies/blocks.
Locked v1 boundaries:
- Forgejo URL is required (
--url or instance url),
- search is repo-scoped only (
repo:owner/repo / --repo required),
- instance-wide cross-repo search is deferred.
Scope
- Add new source adapter under
src/source/forgejo/.
- Wire platform selection and source construction for
forgejo.
- Add
FORGEJO_TOKEN env support in config/token resolution.
- Implement repo-scoped search mapping and ID fetch endpoints.
- Implement comments/review-comments/link hydration with parallelized branches.
- Update docs/examples (README/config/skill provider listings).
Boundary
- No cross-repo Forgejo search in this issue.
- No
gitea alias in this phase.
- No behavior change for existing providers.
Acceptance Criteria
99problems get --platform forgejo --url <forgejo-base> --repo owner/repo -q "..." works.
99problems get --platform forgejo --url <forgejo-base> --repo owner/repo --id <n> --type issue|pr works.
- Issue comments and PR review comments are returned according to flags.
- Link metadata is hydrated best-effort from Forgejo timeline/dependency/blocking APIs.
- Missing Forgejo URL returns clear usage guidance.
- Existing provider tests remain green.
Context
Forgejo exposes compatible issue/PR APIs and review/timeline/dependency endpoints, making a focused v1 adapter feasible without broad architectural changes.
Problem
99problemscurrently supports GitHub, GitLab, Jira, and Bitbucket, but not Forgejo.Users on Forgejo instances cannot use
getfor issue/PR context retrieval, which blocks adoption in self-hosted and Forgejo-centric environments.Design
Implement Forgejo provider v1 with balanced parity:
Locked v1 boundaries:
--urlor instanceurl),repo:owner/repo/--reporequired),Scope
src/source/forgejo/.forgejo.FORGEJO_TOKENenv support in config/token resolution.Boundary
giteaalias in this phase.Acceptance Criteria
99problems get --platform forgejo --url <forgejo-base> --repo owner/repo -q "..."works.99problems get --platform forgejo --url <forgejo-base> --repo owner/repo --id <n> --type issue|prworks.Context
Forgejo exposes compatible issue/PR APIs and review/timeline/dependency endpoints, making a focused v1 adapter feasible without broad architectural changes.