ur-agent 1.25.0 → 1.25.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +29 -2
- package/RELEASE.md +8 -0
- package/dist/cli.js +533 -346
- package/docs/AGENT_FEATURES.md +25 -1
- package/docs/CODE_FEATURE_INVENTORY.md +1 -1
- package/docs/CONFIGURATION.md +17 -1
- package/docs/USAGE.md +30 -1
- package/docs/VALIDATION.md +1 -1
- package/docs/providers.md +25 -2
- package/documentation/README.md +4 -0
- package/documentation/app.js +50 -5
- package/documentation/index.html +56 -5
- package/extensions/vscode-ur-inline-diffs/README.md +4 -0
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -62,8 +62,32 @@ ur eval dashboard
|
|
|
62
62
|
ur spec init auth-refactor --goal "refactor login without changing behavior"
|
|
63
63
|
ur spec run auth-refactor --all
|
|
64
64
|
ur spec verify auth-refactor
|
|
65
|
+
ur provider list
|
|
66
|
+
ur provider status
|
|
67
|
+
ur provider doctor
|
|
68
|
+
ur auth chatgpt
|
|
69
|
+
ur auth claude
|
|
70
|
+
ur auth gemini
|
|
71
|
+
ur auth antigravity
|
|
72
|
+
ur config set provider ollama
|
|
73
|
+
ur config set provider openai-compatible
|
|
74
|
+
ur config set model qwen3-coder:480b-cloud
|
|
75
|
+
ur config set base_url http://localhost:11434/v1
|
|
76
|
+
ur config set provider.fallback ollama
|
|
77
|
+
ur upgrade
|
|
65
78
|
```
|
|
66
79
|
|
|
80
|
+
## v1.25.x Additions
|
|
81
|
+
|
|
82
|
+
| Addition | Surface | What it adds |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| Legal multi-provider connectivity | `ur provider list\|status\|doctor`, `ur auth chatgpt\|claude\|gemini\|antigravity`, `ur config set provider ...` | Official-only access paths for subscription CLIs, explicit API-key providers, and local/OpenAI-compatible runtimes. UR stores only safe non-secret preferences and never scrapes browser sessions, extracts OAuth tokens, reads hidden provider auth files, bypasses provider restrictions, or proxies consumer web sessions as APIs. |
|
|
85
|
+
| Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows UR-AGENT version, active provider, auth mode, selected model, mode, git branch, task state, checks/build state when known, and update availability. Hidden in CI, dumb terminals, and non-interactive mode; custom status-line hooks still override it. |
|
|
86
|
+
| Clean update checks | `ur upgrade`, `ur update`, `src/cli/update.ts` | Detects development/source checkouts and prints a short pull-or-install message instead of attempting self-mutation. npm-installed builds compare the local version with `ur-agent` on npm and print update, latest, registry failure, and malformed-response states without stale planning text. |
|
|
87
|
+
| Bundled IDE extension install | `extensions/vscode-ur-inline-diffs/`, `src/utils/ide.ts`, `ur ide diff` | Public VS Code install now packages the repo's bundled inline-diffs extension as a local VSIX instead of trying an unpublished marketplace ID. The extension remains local-only and reviews `.ur/ide/diffs` bundles from the current workspace. |
|
|
88
|
+
| Professional clarification dialogs | `AskUserQuestion`, `src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx` | Supports up to eight concrete options, infers labels from description-only option objects, accepts prompt aliases, rejects duplicate inferred labels, and is loaded without ToolSearch preloading so typed schemas are available before use. |
|
|
89
|
+
| Documentation release sync | `README.md`, `docs/`, `documentation/`, `CHANGELOG.md` | Keeps the npm README, static documentation site, provider guide, usage guide, feature ledger, validation runbook, and release notes aligned with current release behavior. |
|
|
90
|
+
|
|
67
91
|
## v1.24.0 Additions
|
|
68
92
|
|
|
69
93
|
| Addition | Surface | What it adds |
|
|
@@ -137,7 +161,7 @@ while keeping them project-local and manifest-backed:
|
|
|
137
161
|
| Primitive | UR surface | Project-backed source |
|
|
138
162
|
| --- | --- | --- |
|
|
139
163
|
| Agent | `ur`, `ur agents`, `ur crew`, `ur bg`, `ur agent-templates` | `.ur/agents/`, `AGENTS.md`, `UR.md` |
|
|
140
|
-
| Rules | `ur context-pack scan`, `ur safety`, `ur guardrails`,
|
|
164
|
+
| Rules | `ur context-pack scan`, `ur safety`, `ur guardrails`, `/hooks` | `AGENTS.md`, `UR.md`, `.cursor/rules/*.mdc`, `.cursorrules`, `.ur/safety-policy.json`, `.ur/guardrails.json`, `.ur/hooks.json` |
|
|
141
165
|
| MCP | `ur mcp`, built-in MCP server mode, MCP tools/resources | `.mcp.json`, `.ur/mcp/`, plugin manifests |
|
|
142
166
|
| Skills | `/skills`, `/create-skill`, bundled skills, plugin skills | `.ur/skills/`, user skills, plugin skill folders |
|
|
143
167
|
| CLI | `ur --help`, `ur -p`, `ur exec`, `ur acp`, workflow subcommands | `package.json` scripts, `.ur/project-manifest.json`, `.ur/verify.json` |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UR-AGENT code feature inventory
|
|
2
2
|
|
|
3
3
|
This file is a code-derived inventory of what this agent can do in the
|
|
4
|
-
`ur-agent` 1.
|
|
4
|
+
`ur-agent` 1.25.3 source tree. It is meant to cover behavior that is easy to
|
|
5
5
|
miss in user-facing documentation.
|
|
6
6
|
|
|
7
7
|
Sources traced include:
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -23,7 +23,9 @@ The default local request endpoint is:
|
|
|
23
23
|
http://localhost:11434/api
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
Any model exposed by that Ollama app can be used, including local models and
|
|
26
|
+
Any model exposed by that Ollama app can be used, including local models and
|
|
27
|
+
Ollama Cloud-backed models. Explicit API providers may call their configured
|
|
28
|
+
API endpoints, but UR does not store model API keys in settings.
|
|
27
29
|
|
|
28
30
|
Provider configuration commands:
|
|
29
31
|
|
|
@@ -31,13 +33,27 @@ Provider configuration commands:
|
|
|
31
33
|
ur provider list
|
|
32
34
|
ur provider doctor
|
|
33
35
|
ur provider status
|
|
36
|
+
ur auth chatgpt
|
|
37
|
+
ur auth claude
|
|
38
|
+
ur auth gemini
|
|
39
|
+
ur auth antigravity
|
|
34
40
|
ur config set provider ollama
|
|
41
|
+
ur config set provider claude
|
|
42
|
+
ur config set provider "Claude Code"
|
|
43
|
+
ur config set provider antigravity
|
|
44
|
+
ur provider doctor agy
|
|
35
45
|
ur config set provider openai-compatible
|
|
36
46
|
ur config set provider.fallback ollama
|
|
37
47
|
ur config set model <model>
|
|
38
48
|
ur config set base_url <url>
|
|
39
49
|
```
|
|
40
50
|
|
|
51
|
+
Provider values accept canonical IDs and common aliases. Examples:
|
|
52
|
+
`codex-cli`, `chatgpt`, `codex`, `claude-code-cli`, `claude`,
|
|
53
|
+
`Claude Code`, `gemini-cli`, `gemini`, `antigravity-cli`, `antigravity`,
|
|
54
|
+
`agy`, `ollama`, `lmstudio`, `LM Studio`, `llama.cpp`, and `vllm`.
|
|
55
|
+
Values with spaces should be quoted in shell commands.
|
|
56
|
+
|
|
41
57
|
API keys are not written to UR settings. Set them in the environment when you
|
|
42
58
|
explicitly choose API mode:
|
|
43
59
|
|
package/docs/USAGE.md
CHANGED
|
@@ -20,6 +20,10 @@ ur --continue
|
|
|
20
20
|
ur --resume
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
When UR needs a focused clarification, it uses the `AskUserQuestion` dialog.
|
|
24
|
+
Professional clarification prompts can provide up to eight concrete options;
|
|
25
|
+
UR also accepts custom "Other" answers when the dialog includes one.
|
|
26
|
+
|
|
23
27
|
## Print Mode
|
|
24
28
|
|
|
25
29
|
Print mode is useful for scripts and shell pipelines:
|
|
@@ -96,17 +100,27 @@ ur auth claude
|
|
|
96
100
|
ur auth gemini
|
|
97
101
|
ur auth antigravity
|
|
98
102
|
ur config set provider ollama
|
|
103
|
+
ur config set provider claude
|
|
104
|
+
ur config set provider "Claude Code"
|
|
105
|
+
ur config set provider antigravity
|
|
106
|
+
ur provider doctor agy
|
|
99
107
|
ur config set provider openai-compatible
|
|
100
108
|
ur config set model <model>
|
|
101
109
|
ur config set base_url <url>
|
|
102
110
|
ur config set provider.fallback ollama
|
|
103
111
|
```
|
|
104
112
|
|
|
113
|
+
Provider values accept canonical IDs and common aliases. For example,
|
|
114
|
+
`claude`, `Claude Code`, and `claude-code-cli` all select
|
|
115
|
+
`claude-code-cli`; `antigravity`, `agy`, and `antigravity-cli` all select
|
|
116
|
+
`antigravity-cli`.
|
|
117
|
+
|
|
105
118
|
API modes are explicit and read keys only from environment variables:
|
|
106
119
|
`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, and
|
|
107
120
|
`OPENROUTER_API_KEY`. Subscription modes call official CLIs such as Codex,
|
|
108
121
|
Claude Code, Gemini CLI, or Antigravity where supported. UR-AGENT never scrapes
|
|
109
122
|
browser sessions, extracts OAuth tokens, or bypasses provider restrictions.
|
|
123
|
+
OpenAI-compatible local or cloud endpoints use `base_url` plus `model`.
|
|
110
124
|
|
|
111
125
|
## Project Instructions
|
|
112
126
|
|
|
@@ -221,12 +235,27 @@ Interactive sessions include a compact bottom status bar when stdout is a real
|
|
|
221
235
|
terminal:
|
|
222
236
|
|
|
223
237
|
```text
|
|
224
|
-
UR-AGENT v1.25.
|
|
238
|
+
UR-AGENT v1.25.3 | Provider: Ollama | Auth: local | model: qwen3-coder:480b-cloud | mode: ask | branch: main | tasks: idle | Update: 1.25.2 -> 1.25.3 available
|
|
225
239
|
```
|
|
226
240
|
|
|
227
241
|
The bar is not rendered in non-interactive mode, CI, dumb terminals, or
|
|
228
242
|
assistant viewer mode. Custom status-line hooks override the built-in bar.
|
|
229
243
|
|
|
244
|
+
## IDE Integration
|
|
245
|
+
|
|
246
|
+
UR can write editor-readable inline diff bundles for review:
|
|
247
|
+
|
|
248
|
+
```sh
|
|
249
|
+
ur ide diff capture --title "Parser fix"
|
|
250
|
+
ur ide diff list
|
|
251
|
+
ur ide diff show <id>
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
The bundled VS Code extension is packaged locally from
|
|
255
|
+
`extensions/vscode-ur-inline-diffs/` when UR installs it. It does not rely on
|
|
256
|
+
the stale marketplace extension ID, and it only reads or writes
|
|
257
|
+
`.ur/ide/diffs` files in the current workspace.
|
|
258
|
+
|
|
230
259
|
Run each command with `--help` for exact flags.
|
|
231
260
|
|
|
232
261
|
Agent platform examples:
|
package/docs/VALIDATION.md
CHANGED
package/docs/providers.md
CHANGED
|
@@ -48,6 +48,10 @@ ur auth claude
|
|
|
48
48
|
ur auth gemini
|
|
49
49
|
ur auth antigravity
|
|
50
50
|
ur config set provider codex-cli
|
|
51
|
+
ur config set provider claude
|
|
52
|
+
ur config set provider "Claude Code"
|
|
53
|
+
ur config set provider antigravity
|
|
54
|
+
ur provider doctor agy
|
|
51
55
|
ur config set provider ollama
|
|
52
56
|
ur config set provider openai-compatible
|
|
53
57
|
ur config set model <model>
|
|
@@ -55,6 +59,24 @@ ur config set base_url <url>
|
|
|
55
59
|
ur config set provider.fallback ollama
|
|
56
60
|
```
|
|
57
61
|
|
|
62
|
+
Provider config and doctor commands accept canonical IDs and common aliases:
|
|
63
|
+
|
|
64
|
+
| Canonical ID | Accepted examples |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| `codex-cli` | `chatgpt`, `codex`, `openai codex` |
|
|
67
|
+
| `claude-code-cli` | `claude`, `Claude Code`, `anthropic claude` |
|
|
68
|
+
| `gemini-cli` | `gemini`, `gemini cli`, `gemini code assist` |
|
|
69
|
+
| `antigravity-cli` | `antigravity`, `agy`, `ag`, `google antigravity` |
|
|
70
|
+
| `openai-api` | `openai`, `openai api` |
|
|
71
|
+
| `anthropic-api` | `anthropic`, `claude api` |
|
|
72
|
+
| `gemini-api` | `gemini api`, `google gemini api` |
|
|
73
|
+
| `openrouter` | `openrouter api` |
|
|
74
|
+
| `openai-compatible` | `compatible`, `openai compatible` |
|
|
75
|
+
| `ollama` | `ollama local` |
|
|
76
|
+
| `lmstudio` | `LM Studio`, `lm-studio` |
|
|
77
|
+
| `llama.cpp` | `llama cpp`, `llamacpp`, `llama-cpp` |
|
|
78
|
+
| `vllm` | `vllm server` |
|
|
79
|
+
|
|
58
80
|
`ur provider doctor` checks the selected provider. It reports installed/missing
|
|
59
81
|
CLIs, official login status where available, API key presence for API providers,
|
|
60
82
|
local endpoint reachability, detectable model availability, unsupported account
|
|
@@ -73,7 +95,9 @@ fallback option.
|
|
|
73
95
|
doctor warns that API-key mode may override subscription auth.
|
|
74
96
|
- `gemini-cli`: launches only the official Gemini CLI flow. If the detected
|
|
75
97
|
path is an unsupported personal-account path, UR-AGENT prints a clear error.
|
|
76
|
-
- `antigravity-cli`:
|
|
98
|
+
- `antigravity-cli`: detects official CLI commands including `agy --version`,
|
|
99
|
+
`antigravity --version`, `google-antigravity --version`, or `ag --version`
|
|
100
|
+
where installed. It launches only an installed official CLI command where
|
|
77
101
|
supported; UR-AGENT does not invent flags.
|
|
78
102
|
|
|
79
103
|
## API and local providers
|
|
@@ -101,4 +125,3 @@ Local providers use their normal servers:
|
|
|
101
125
|
- LM Studio: `http://localhost:1234/v1`
|
|
102
126
|
- llama.cpp server mode: `http://localhost:8080/v1`
|
|
103
127
|
- vLLM server mode: `http://localhost:8000/v1`
|
|
104
|
-
|
package/documentation/README.md
CHANGED
|
@@ -21,6 +21,10 @@ When a command writes project state, also update `projectFiles` in `app.js`.
|
|
|
21
21
|
For safety or context features, include the relevant `.ur/` paths and validation
|
|
22
22
|
commands so the static docs match the implementation.
|
|
23
23
|
|
|
24
|
+
When provider, auth, update, status-bar, IDE integration, or plugin behavior
|
|
25
|
+
changes, update `index.html`, `app.js`, and the matching markdown guide under
|
|
26
|
+
`docs/` in the same patch.
|
|
27
|
+
|
|
24
28
|
For public feature patches, also check the project-wide docs set:
|
|
25
29
|
|
|
26
30
|
- root `README.md`
|
package/documentation/app.js
CHANGED
|
@@ -2,8 +2,8 @@ const featureGroups = [
|
|
|
2
2
|
{
|
|
3
3
|
title: 'Core agent runtime',
|
|
4
4
|
tags: ['interactive', 'headless', 'models'],
|
|
5
|
-
text: 'Interactive terminal sessions, one-shot print mode, JSON and stream-json output, resumable conversations, custom agents, model routing, and
|
|
6
|
-
commands: ['ur', 'ur -p', 'ur --resume', 'ur --continue', 'ur --model <model>'],
|
|
5
|
+
text: 'Interactive terminal sessions, one-shot print mode, JSON and stream-json output, resumable conversations, custom agents, model routing, local runtimes, and legal provider adapters.',
|
|
6
|
+
commands: ['ur', 'ur -p', 'ur --resume', 'ur --continue', 'ur --model <model>', 'ur provider'],
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
title: 'Project context',
|
|
@@ -53,6 +53,12 @@ const featureGroups = [
|
|
|
53
53
|
text: 'MCP servers, plugin marketplaces for skills, templates, validators, language adapters, A2A Agent Card and task server, delegation tokens, and a TypeScript SDK wrapper around headless UR.',
|
|
54
54
|
commands: ['ur mcp', 'ur plugin', 'ur a2a', 'ur sdk'],
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
title: 'Providers and auth',
|
|
58
|
+
tags: ['subscription', 'API', 'local', 'status bar'],
|
|
59
|
+
text: 'Official subscription CLI login, explicit API-key providers, local/OpenAI-compatible runtimes, provider doctor checks, non-secret config, fallback hints, and provider-aware status-bar output.',
|
|
60
|
+
commands: ['ur provider list', 'ur provider status', 'ur provider doctor agy', 'ur auth chatgpt', 'ur config set provider "Claude Code"'],
|
|
61
|
+
},
|
|
56
62
|
{
|
|
57
63
|
title: 'Security and operations',
|
|
58
64
|
tags: ['sandbox', 'scope', 'diagnostics', 'policy'],
|
|
@@ -164,8 +170,8 @@ const commands = [
|
|
|
164
170
|
name: 'auth',
|
|
165
171
|
category: 'Ops',
|
|
166
172
|
aliases: [],
|
|
167
|
-
summary: '
|
|
168
|
-
examples: ['ur auth', 'ur
|
|
173
|
+
summary: 'Launch official subscription CLI login flows for ChatGPT/Codex, Claude Code, Gemini CLI, and Antigravity where supported.',
|
|
174
|
+
examples: ['ur auth chatgpt', 'ur auth claude', 'ur auth gemini', 'ur auth antigravity'],
|
|
169
175
|
},
|
|
170
176
|
{
|
|
171
177
|
name: 'automation',
|
|
@@ -195,6 +201,13 @@ const commands = [
|
|
|
195
201
|
summary: 'Summarize repository architecture from manifests and instructions, record task memory, and compress old context under `.ur/context`.',
|
|
196
202
|
examples: ['ur context-pack scan', 'ur context-pack remember --decision "Use package scripts first"', 'ur context-pack remember --command "bun run typecheck"', 'ur context-pack compress'],
|
|
197
203
|
},
|
|
204
|
+
{
|
|
205
|
+
name: 'config',
|
|
206
|
+
category: 'Ops',
|
|
207
|
+
aliases: ['settings'],
|
|
208
|
+
summary: 'Open the config panel or persist safe non-secret provider settings.',
|
|
209
|
+
examples: ['ur config', 'ur config set provider ollama', 'ur config set provider claude', 'ur config set provider "Claude Code"', 'ur config set model qwen3-coder:480b-cloud', 'ur config set base_url http://localhost:11434/v1', 'ur config set provider.fallback ollama'],
|
|
210
|
+
},
|
|
198
211
|
{
|
|
199
212
|
name: 'test-first',
|
|
200
213
|
category: 'Verification',
|
|
@@ -297,9 +310,16 @@ const commands = [
|
|
|
297
310
|
name: 'plugin',
|
|
298
311
|
category: 'Interop',
|
|
299
312
|
aliases: ['plugins'],
|
|
300
|
-
summary: 'Manage UR plugins and marketplaces for MCP tools, skills, templates, validators,
|
|
313
|
+
summary: 'Manage UR plugins and marketplaces for MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands.',
|
|
301
314
|
examples: ['ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin install engineering-discipline@ur-plugins-official', 'ur plugin update <plugin>', 'ur plugin disable <plugin>'],
|
|
302
315
|
},
|
|
316
|
+
{
|
|
317
|
+
name: 'provider',
|
|
318
|
+
category: 'Models',
|
|
319
|
+
aliases: ['providers'],
|
|
320
|
+
summary: 'List, inspect, and diagnose legal model provider adapters without reading hidden credential files.',
|
|
321
|
+
examples: ['ur provider list', 'ur provider status', 'ur provider doctor', 'ur provider doctor codex-cli', 'ur provider doctor ollama --json'],
|
|
322
|
+
},
|
|
303
323
|
{
|
|
304
324
|
name: 'repo-edit',
|
|
305
325
|
category: 'Delivery',
|
|
@@ -500,6 +520,21 @@ const projectFiles = [
|
|
|
500
520
|
text: 'Reviewable plans, diffs, test runs, screenshots, notes, approvals, rejections, and feedback.',
|
|
501
521
|
example: 'ur artifacts capture-diff',
|
|
502
522
|
},
|
|
523
|
+
{
|
|
524
|
+
title: '.ur/runs/',
|
|
525
|
+
text: 'Research-grade run traces with plan, actions, diff, tests, and report files for auditable agent runs.',
|
|
526
|
+
example: '/trace',
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
title: '.ur/hooks.json',
|
|
530
|
+
text: 'Project lifecycle hooks for BeforeEdit, AfterEdit, BeforeCommand, AfterCommand, BeforeCommit, and OnFailure.',
|
|
531
|
+
example: '/hooks',
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
title: '.ur/ide/diffs/',
|
|
535
|
+
text: 'Editor-readable inline diff bundles consumed by the bundled VS Code review extension.',
|
|
536
|
+
example: 'ur ide diff capture --title "Parser fix"',
|
|
537
|
+
},
|
|
503
538
|
{
|
|
504
539
|
title: '.ur/safety-policy.json',
|
|
505
540
|
text: 'Project shell safety policy for read/write/execute/network classes, destructive-command approval, sandbox posture, and secret exfiltration denial.',
|
|
@@ -520,6 +555,11 @@ const projectFiles = [
|
|
|
520
555
|
text: 'Reliable repo-edit index data with file metadata, tokens, and JavaScript/TypeScript symbols.',
|
|
521
556
|
example: 'ur repo-edit index',
|
|
522
557
|
},
|
|
558
|
+
{
|
|
559
|
+
title: '.ur/code-index/',
|
|
560
|
+
text: 'Semantic repo index files for files, symbols, imports, callers, tests, docs, and configs.',
|
|
561
|
+
example: 'ur code-index repo build',
|
|
562
|
+
},
|
|
523
563
|
{
|
|
524
564
|
title: '.ur/test-first/',
|
|
525
565
|
text: 'Failure traces from stack-aware compile/test/lint loops.',
|
|
@@ -548,6 +588,11 @@ const examples = [
|
|
|
548
588
|
text: 'Let UR recommend a model before a difficult run.',
|
|
549
589
|
code: 'ur model-route "Implement a browser screenshot comparison test"\nur --model qwen3-coder:480b-cloud',
|
|
550
590
|
},
|
|
591
|
+
{
|
|
592
|
+
title: 'Provider setup',
|
|
593
|
+
text: 'Inspect legal provider paths, choose a local provider, and keep fallback explicit.',
|
|
594
|
+
code: 'ur provider list\nur provider doctor agy\nur config set provider "Claude Code"\nur config set provider ollama\nur config set model qwen3-coder:480b-cloud\nur config set provider.fallback ollama',
|
|
595
|
+
},
|
|
551
596
|
{
|
|
552
597
|
title: 'PR handoff with self-review',
|
|
553
598
|
text: 'Dry-run first, then create the PR after the deterministic gate passes.',
|
package/documentation/index.html
CHANGED
|
@@ -21,12 +21,13 @@
|
|
|
21
21
|
|
|
22
22
|
<label class="search-box">
|
|
23
23
|
<span>Search docs</span>
|
|
24
|
-
<input id="globalSearch" type="search" placeholder="Try workflow, model, PR, A2A">
|
|
24
|
+
<input id="globalSearch" type="search" placeholder="Try provider, workflow, model, PR, A2A">
|
|
25
25
|
</label>
|
|
26
26
|
|
|
27
27
|
<nav class="nav-list" id="sectionNav">
|
|
28
28
|
<a href="#overview">Overview</a>
|
|
29
29
|
<a href="#quickstart">Quickstart</a>
|
|
30
|
+
<a href="#providers">Providers</a>
|
|
30
31
|
<a href="#architecture">Architecture</a>
|
|
31
32
|
<a href="#mental-model">Mental Model</a>
|
|
32
33
|
<a href="#features">Feature Map</a>
|
|
@@ -43,7 +44,7 @@
|
|
|
43
44
|
<main id="content" class="content">
|
|
44
45
|
<header class="topbar">
|
|
45
46
|
<div>
|
|
46
|
-
<p class="eyebrow">Version 1.
|
|
47
|
+
<p class="eyebrow">Version 1.25.3</p>
|
|
47
48
|
<h1>UR-AGENT Documentation</h1>
|
|
48
49
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-AGENT.</p>
|
|
49
50
|
</div>
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
<div class="stat-grid">
|
|
63
64
|
<article>
|
|
64
65
|
<strong>Local-first runtime</strong>
|
|
65
|
-
<span>
|
|
66
|
+
<span>Use local Ollama/OpenAI-compatible runtimes for private and offline work, or explicitly select official subscription/API provider paths.</span>
|
|
66
67
|
</article>
|
|
67
68
|
<article>
|
|
68
69
|
<strong>Interactive and headless</strong>
|
|
@@ -76,6 +77,10 @@
|
|
|
76
77
|
<strong>Plugin marketplace</strong>
|
|
77
78
|
<span>Plugins can add MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, and output styles.</span>
|
|
78
79
|
</article>
|
|
80
|
+
<article>
|
|
81
|
+
<strong>Legal provider routing</strong>
|
|
82
|
+
<span><code>ur provider</code>, <code>ur auth</code>, and safe <code>ur config set</code> commands select official subscription, API, and local providers without storing secrets.</span>
|
|
83
|
+
</article>
|
|
79
84
|
<article>
|
|
80
85
|
<strong>Reliable repo editing</strong>
|
|
81
86
|
<span><code>ur repo-edit</code> indexes files and symbols, plans AST-aware renames, previews patches, and rolls back failed multi-file applies.</span>
|
|
@@ -123,7 +128,40 @@ ur -p --output-format json "Review the current diff"</code></pre>
|
|
|
123
128
|
</div>
|
|
124
129
|
<div class="callout">
|
|
125
130
|
<strong>Runtime requirement</strong>
|
|
126
|
-
<p>UR expects Bun
|
|
131
|
+
<p>UR expects Bun. For local-first work, run a local Ollama app/server at <code>http://localhost:11434/api</code>. Set <code>OLLAMA_MODEL</code> or <code>UR_MODEL</code> to force a model, or use <code>ur provider</code> and <code>ur config set</code> to select official subscription, API, or OpenAI-compatible providers.</p>
|
|
132
|
+
</div>
|
|
133
|
+
</section>
|
|
134
|
+
|
|
135
|
+
<section id="providers" class="section">
|
|
136
|
+
<div class="section-heading">
|
|
137
|
+
<p class="eyebrow">Legal Access Paths</p>
|
|
138
|
+
<h2>Providers and authentication</h2>
|
|
139
|
+
<p>UR-AGENT integrates official access paths only. It never scrapes browser sessions, extracts OAuth tokens, reads hidden provider auth files, bypasses provider restrictions, or proxies consumer web sessions as APIs.</p>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="reference-grid">
|
|
142
|
+
<article>
|
|
143
|
+
<h3>Subscription CLI login</h3>
|
|
144
|
+
<pre><code>ur auth chatgpt
|
|
145
|
+
ur auth claude
|
|
146
|
+
ur auth gemini
|
|
147
|
+
ur auth antigravity
|
|
148
|
+
ur provider doctor agy</code></pre>
|
|
149
|
+
<p>Subscription modes call official CLIs such as Codex CLI, Claude Code CLI, Gemini CLI, and Antigravity where supported. UR checks CLI presence and official login status without reading hidden credential files. Provider config accepts canonical IDs plus aliases such as <code>claude</code>, <code>Claude Code</code>, <code>antigravity</code>, and <code>agy</code>.</p>
|
|
150
|
+
</article>
|
|
151
|
+
<article>
|
|
152
|
+
<h3>API and local providers</h3>
|
|
153
|
+
<pre><code>ur config set provider openai-compatible
|
|
154
|
+
ur config set provider "Claude Code"
|
|
155
|
+
ur config set base_url http://localhost:11434/v1
|
|
156
|
+
ur config set model qwen3-coder:480b-cloud
|
|
157
|
+
ur config set provider.fallback ollama</code></pre>
|
|
158
|
+
<p>API providers require explicit selection and read keys only from environment variables. Local providers include Ollama, LM Studio, llama.cpp server mode, and vLLM OpenAI-compatible server mode.</p>
|
|
159
|
+
</article>
|
|
160
|
+
<article>
|
|
161
|
+
<h3>Status bar and updates</h3>
|
|
162
|
+
<pre><code>UR-AGENT v1.25.3 | Provider: Ollama | Auth: local | model: qwen3-coder:480b-cloud | mode: ask | branch: main | tasks: idle | Update: 1.25.2 -> 1.25.3 available</code></pre>
|
|
163
|
+
<p>The interactive status bar shows provider, auth mode, model, branch, task state, checks status when known, and update availability. It is hidden in CI, dumb terminals, and non-interactive mode.</p>
|
|
164
|
+
</article>
|
|
127
165
|
</div>
|
|
128
166
|
</section>
|
|
129
167
|
|
|
@@ -131,7 +169,7 @@ ur -p --output-format json "Review the current diff"</code></pre>
|
|
|
131
169
|
<div class="section-heading">
|
|
132
170
|
<p class="eyebrow">Runtime</p>
|
|
133
171
|
<h2>Architecture</h2>
|
|
134
|
-
<p>The CLI is the control plane. Project context and <code>.ur</code> assets feed agent orchestration, which uses local
|
|
172
|
+
<p>The CLI is the control plane. Project context and <code>.ur</code> assets feed agent orchestration, which uses approved provider adapters, local-first model runtimes, and approved tools to produce code, docs, PRs, reports, and automation outputs.</p>
|
|
135
173
|
</div>
|
|
136
174
|
<figure class="diagram">
|
|
137
175
|
<img src="assets/ur-architecture.svg" alt="UR-AGENT runtime architecture diagram">
|
|
@@ -448,6 +486,13 @@ ur plugin list
|
|
|
448
486
|
ur plugin install <plugin></code></pre>
|
|
449
487
|
<p>MCP servers and marketplace plugins expand tools, executable skills, templates, validators, language adapters, and review workflows. Treat them as trusted code.</p>
|
|
450
488
|
</article>
|
|
489
|
+
<article>
|
|
490
|
+
<h3>IDE inline diffs</h3>
|
|
491
|
+
<pre><code>ur ide diff capture --title "Parser fix"
|
|
492
|
+
ur ide diff list
|
|
493
|
+
ur ide diff show <id></code></pre>
|
|
494
|
+
<p>UR packages its bundled VS Code inline-diffs extension as a local VSIX. The public install path does not depend on the stale marketplace extension ID.</p>
|
|
495
|
+
</article>
|
|
451
496
|
</div>
|
|
452
497
|
</section>
|
|
453
498
|
|
|
@@ -482,6 +527,12 @@ hash -r
|
|
|
482
527
|
which -a ur
|
|
483
528
|
ur --version</code></pre>
|
|
484
529
|
</article>
|
|
530
|
+
<article>
|
|
531
|
+
<h3>Source checkout update message</h3>
|
|
532
|
+
<pre><code>ur upgrade
|
|
533
|
+
# Development build detected. To update, pull latest source or install from npm.</code></pre>
|
|
534
|
+
<p>Source checkouts do not self-mutate. npm-installed builds compare against the latest <code>ur-agent</code> version and print the exact install command when an update is available.</p>
|
|
535
|
+
</article>
|
|
485
536
|
<article>
|
|
486
537
|
<h3>Ollama model not found</h3>
|
|
487
538
|
<pre><code>ollama list
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Native VS Code surface for UR inline diff bundles.
|
|
4
4
|
|
|
5
|
+
UR-AGENT packages this extension from the repository as a local VSIX when the
|
|
6
|
+
CLI installs the public IDE integration. It does not depend on an unpublished
|
|
7
|
+
marketplace extension ID.
|
|
8
|
+
|
|
5
9
|
## Workflow
|
|
6
10
|
|
|
7
11
|
Create a bundle from the UR CLI:
|
package/package.json
CHANGED