Repository navigation
Conversation
Detects gh, jira-cli, env tokens and Claude MCP servers, syncs them to the Altimate workspace or keeps them in the OS keychain, and connects a provider through a browser consent flow with a loopback callback. Expired tokens are re-created through the authorize flow; no refresh token is stored. Disconnect also removes the workspace copy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
connect now asks for the same fields as the workspace web form, read from the integrations catalog, pre-filled from credentials found on the machine. Secrets come from detection, the clipboard, an env var or stdin and are never printed. Credentials are validated directly with GitHub, Jira or Linear, then kept in the keychain or synced to the workspace. A rejected token can be updated on the same connection. The browser OAuth flow moves behind connect --oauth. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Adds
altimate integrationsso GitHub, Jira and Linear can be connected from the terminal, using the same credential fields as the Altimate workspace web form, instead of setting them up in the web app. Stacked on #1609.gh, jira-cli,GITHUB_TOKEN/GH_TOKEN,JIRA_API_TOKEN,LINEAR_API_KEY, and MCP servers in Claude Code's config.fields <provider>: the form fields from the workspace's integrations catalog. They are cached, with a built-in fallback, and pre-filled from the machine. Secrets are reported only as a masked tail.set/set-secret --from-clipboard | --from-env | --stdin: fills fields. A secret is read by the CLI itself and never printed.connect <provider> [--local-only]: validates directly with GitHub, Jira or Linear, then either keeps the credential in the OS keychain or syncs it to the workspace as a private connection. A rejected credential shows the provider's message and stores nothing.update <provider>: replaces a rejected token on the same connection.status: reportsrejectedwhen a token stopped working.open-token-page,sync,block/unblock,disconnect(removes the local copy and the workspace connection this tool made).--json, which the Claude Code plugin reads.connect --oauth.Test plan
bun test test/altimate/integrations.test.ts: 60 pass. Covers:bun run typecheckis clean.api.github.com, nothing sent to Altimate)🤖 Generated with Claude Code