add external data sources registry and configurable sources system#92
add external data sources registry and configurable sources system#92yourconscience wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a centralized external data sources registry to manage and check the availability of external data sources (such as X.com, Reddit, GitHub, and Discord) for dotagents skills. It adds a new sources CLI command, detailed documentation, and corresponding tests. The review feedback highlights three key areas for improvement: optimizing shell checks in sources.go by evaluating simple checks natively in Go to improve performance and portability, fixing a priority resolution logic bug in resolveSourceStatus, and correcting a typo in a Twitter handle within the tech-search skill documentation.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cb5a52bb9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b9cf62b9b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Name: "x.com", Desc: "X.com / Twitter", DefaultOn: true, ToSRisk: "high", | ||
| Methods: []sourceMethodDef{ | ||
| {Name: "x-cli", Type: methodCLI, Priority: 1, Detect: "x-cli", Auth: "~/.x-cli/credentials.json", Setup: "x-cli auth login"}, | ||
| {Name: "x-api-v2", Type: methodAPI, Priority: 2, Check: "test -s ~/.x-api/credentials.json", Auth: "~/.x-api/credentials.json", Setup: "register OAuth consumer app at developer.x.com"}, |
There was a problem hiding this comment.
Keep unwired X API behind websearch
When x-cli is absent but ~/.x-api/credentials.json exists, this entry is reported available and wins over websearch because priority 2 is still ahead of 99. The added docs state API v2 is not wired and the tech-search skill only documents x-cli/websearch commands, so agents following dotagents sources --compact choose an unusable X method instead of the working fallback.
Useful? React with 👍 / 👎.
Summary
dotagents sourcesCLI command: shows available data sources, their best access method, and fallback chain. Supports--json,--compact, and single-source detail modes.sources:config section in dotagents.yaml for per-machine overrides (enable/disable sources, set preferred method). Merges from dotagents.local.yaml like all other config sections.docs/sources.md: reference document cataloging every source with access methods, auth, limitations, and gaps.dotagents sourcesfor method selection instead of hardcoded fallback logic.Test plan
go test ./cmd/dotagents/passes (8 new source tests + existing suite)dotagents sourcesshows correct table on local machinedotagents sources --compactoutputs one-liner suitable for skill consumptiondotagents sources --jsonoutputs valid JSONdotagents sources x.comshows detail view with auth/setup infosources: [{name: discord, enabled: true}]to dotagents.local.yaml, verify discord shows enabled