ur-agent 1.24.0 → 1.25.0

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.
Files changed (117) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/CONTRIBUTING.md +21 -0
  3. package/LICENSE +1 -1
  4. package/README.md +100 -14
  5. package/RELEASE.md +54 -0
  6. package/SECURITY.md +22 -0
  7. package/bin/ur.js +5 -5
  8. package/dist/cli.js +1772 -1071
  9. package/docs/AGENT_FEATURES.md +2 -2
  10. package/docs/AGENT_UPGRADE_1.15.0.md +1 -1
  11. package/docs/AGENT_UPGRADE_1.16.0.md +1 -1
  12. package/docs/AGENT_UPGRADE_1.17.0.md +1 -1
  13. package/docs/AGENT_UPGRADE_1.18.0.md +1 -1
  14. package/docs/AGENT_UPGRADE_1.19.0.md +1 -1
  15. package/docs/AGENT_UPGRADE_1.20.0.md +1 -1
  16. package/docs/AGENT_UPGRADE_1.21.0.md +1 -1
  17. package/docs/AGENT_UPGRADE_1.22.0.md +1 -1
  18. package/docs/CODE_FEATURE_INVENTORY.md +5 -4
  19. package/docs/CONFIGURATION.md +38 -2
  20. package/docs/DEVELOPMENT.md +6 -3
  21. package/docs/USAGE.md +41 -2
  22. package/docs/VALIDATION.md +4 -4
  23. package/docs/plugins.md +52 -0
  24. package/docs/providers.md +104 -0
  25. package/documentation/README.md +2 -2
  26. package/documentation/app.js +2 -2
  27. package/documentation/assets/ur-architecture.svg +1 -1
  28. package/documentation/index.html +6 -6
  29. package/package.json +11 -7
  30. package/plugins/bunBundleDev.ts +32 -0
  31. package/plugins/community/.gitkeep +1 -0
  32. package/{marketplace-plugins → plugins/core}/README.md +3 -3
  33. package/plugins/core/code-review/.ur-plugin/plugin.json +13 -0
  34. package/{marketplace-plugins → plugins/core}/engineering-discipline/.ur-plugin/plugin.json +4 -4
  35. package/{marketplace-plugins → plugins/core}/evaluate-response/.ur-plugin/plugin.json +4 -4
  36. package/{marketplace-plugins → plugins/core}/explain-error/.ur-plugin/plugin.json +4 -4
  37. package/{marketplace-plugins → plugins/core}/git-summary/.ur-plugin/plugin.json +4 -4
  38. package/{marketplace-plugins → plugins/core}/github/.ur-plugin/plugin.json +4 -4
  39. package/{marketplace-plugins → plugins/core}/gitlab/.ur-plugin/plugin.json +4 -4
  40. package/{marketplace-plugins → plugins/core}/hello/.ur-plugin/plugin.json +4 -4
  41. package/{marketplace-plugins → plugins/core}/hello/README.md +4 -4
  42. package/{marketplace-plugins → plugins/core}/huggingface/.ur-plugin/plugin.json +4 -4
  43. package/{marketplace-plugins → plugins/core}/miro/.ur-plugin/plugin.json +4 -4
  44. package/{marketplace-plugins → plugins/core}/obsidian/.ur-plugin/plugin.json +4 -4
  45. package/{marketplace-plugins → plugins/core}/powerpoint/.ur-plugin/plugin.json +4 -4
  46. package/plugins/core/release-notes/.ur-plugin/plugin.json +13 -0
  47. package/{marketplace-plugins → plugins/core}/skill-forge/.ur-plugin/plugin.json +4 -4
  48. package/{marketplace-plugins → plugins/core}/word/.ur-plugin/plugin.json +4 -4
  49. package/plugins/examples/README.md +12 -0
  50. package/plugins/examples/command-template/.ur-plugin/plugin.json +12 -0
  51. package/plugins/examples/command-template/README.md +9 -0
  52. package/plugins/examples/command-template/commands/example.md +7 -0
  53. package/marketplace-plugins/code-review/.ur-plugin/plugin.json +0 -13
  54. package/marketplace-plugins/release-notes/.ur-plugin/plugin.json +0 -13
  55. /package/{marketplace-plugins → plugins/core}/code-review/README.md +0 -0
  56. /package/{marketplace-plugins → plugins/core}/code-review/commands/code-review.md +0 -0
  57. /package/{marketplace-plugins → plugins/core}/engineering-discipline/README.md +0 -0
  58. /package/{marketplace-plugins → plugins/core}/engineering-discipline/commands/discipline-check.md +0 -0
  59. /package/{marketplace-plugins → plugins/core}/engineering-discipline/skills/reproducible-release/SKILL.md +0 -0
  60. /package/{marketplace-plugins → plugins/core}/engineering-discipline/templates/release-verifier.md +0 -0
  61. /package/{marketplace-plugins → plugins/core}/engineering-discipline/validators/release-gate.json +0 -0
  62. /package/{marketplace-plugins → plugins/core}/evaluate-response/README.md +0 -0
  63. /package/{marketplace-plugins → plugins/core}/evaluate-response/commands/evaluate-response.md +0 -0
  64. /package/{marketplace-plugins → plugins/core}/explain-error/README.md +0 -0
  65. /package/{marketplace-plugins → plugins/core}/explain-error/commands/explain-error.md +0 -0
  66. /package/{marketplace-plugins → plugins/core}/git-summary/README.md +0 -0
  67. /package/{marketplace-plugins → plugins/core}/git-summary/commands/git-summary.md +0 -0
  68. /package/{marketplace-plugins → plugins/core}/github/README.md +0 -0
  69. /package/{marketplace-plugins → plugins/core}/github/commands/gh-issues.md +0 -0
  70. /package/{marketplace-plugins → plugins/core}/github/commands/gh-pr-create.md +0 -0
  71. /package/{marketplace-plugins → plugins/core}/github/commands/gh-pr-review.md +0 -0
  72. /package/{marketplace-plugins → plugins/core}/github/commands/gh-repo-health.md +0 -0
  73. /package/{marketplace-plugins → plugins/core}/github/skills/github-workflow/SKILL.md +0 -0
  74. /package/{marketplace-plugins → plugins/core}/gitlab/README.md +0 -0
  75. /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-issues.md +0 -0
  76. /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-mr-create.md +0 -0
  77. /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-mr-review.md +0 -0
  78. /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-pipeline.md +0 -0
  79. /package/{marketplace-plugins → plugins/core}/gitlab/skills/gitlab-workflow/SKILL.md +0 -0
  80. /package/{marketplace-plugins → plugins/core}/hello/commands/hello.md +0 -0
  81. /package/{marketplace-plugins → plugins/core}/huggingface/README.md +0 -0
  82. /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-dataset-search.md +0 -0
  83. /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-download.md +0 -0
  84. /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-model-card.md +0 -0
  85. /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-model-search.md +0 -0
  86. /package/{marketplace-plugins → plugins/core}/huggingface/skills/huggingface-workflow/SKILL.md +0 -0
  87. /package/{marketplace-plugins → plugins/core}/miro/README.md +0 -0
  88. /package/{marketplace-plugins → plugins/core}/miro/commands/miro-board.md +0 -0
  89. /package/{marketplace-plugins → plugins/core}/miro/commands/miro-diagram.md +0 -0
  90. /package/{marketplace-plugins → plugins/core}/miro/commands/miro-export.md +0 -0
  91. /package/{marketplace-plugins → plugins/core}/miro/commands/miro-stickies.md +0 -0
  92. /package/{marketplace-plugins → plugins/core}/miro/skills/miro-workflow/SKILL.md +0 -0
  93. /package/{marketplace-plugins → plugins/core}/obsidian/README.md +0 -0
  94. /package/{marketplace-plugins → plugins/core}/obsidian/commands/backlinks.md +0 -0
  95. /package/{marketplace-plugins → plugins/core}/obsidian/commands/daily-note.md +0 -0
  96. /package/{marketplace-plugins → plugins/core}/obsidian/commands/moc.md +0 -0
  97. /package/{marketplace-plugins → plugins/core}/obsidian/commands/second-brain.md +0 -0
  98. /package/{marketplace-plugins → plugins/core}/obsidian/commands/vault-search.md +0 -0
  99. /package/{marketplace-plugins → plugins/core}/obsidian/skills/second-brain/SKILL.md +0 -0
  100. /package/{marketplace-plugins → plugins/core}/powerpoint/README.md +0 -0
  101. /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-from-md.md +0 -0
  102. /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-new.md +0 -0
  103. /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-review.md +0 -0
  104. /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-theme.md +0 -0
  105. /package/{marketplace-plugins → plugins/core}/powerpoint/skills/deck-craft/SKILL.md +0 -0
  106. /package/{marketplace-plugins → plugins/core}/release-notes/README.md +0 -0
  107. /package/{marketplace-plugins → plugins/core}/release-notes/commands/release-notes.md +0 -0
  108. /package/{marketplace-plugins → plugins/core}/skill-forge/README.md +0 -0
  109. /package/{marketplace-plugins → plugins/core}/skill-forge/commands/forge-skill.md +0 -0
  110. /package/{marketplace-plugins → plugins/core}/skill-forge/commands/skill-refine.md +0 -0
  111. /package/{marketplace-plugins → plugins/core}/skill-forge/skills/skill-authoring/SKILL.md +0 -0
  112. /package/{marketplace-plugins → plugins/core}/word/README.md +0 -0
  113. /package/{marketplace-plugins → plugins/core}/word/commands/docx-edit.md +0 -0
  114. /package/{marketplace-plugins → plugins/core}/word/commands/docx-from-md.md +0 -0
  115. /package/{marketplace-plugins → plugins/core}/word/commands/docx-new.md +0 -0
  116. /package/{marketplace-plugins → plugins/core}/word/commands/docx-review.md +0 -0
  117. /package/{marketplace-plugins → plugins/core}/word/skills/document-craft/SKILL.md +0 -0
@@ -68,8 +68,8 @@ ur spec verify auth-refactor
68
68
 
69
69
  | Addition | Surface | What it adds |
70
70
  | --- | --- | --- |
71
- | Plugin marketplace capability surfaces | `.ur-plugin/marketplace.json`, `src/utils/plugins/schemas.ts`, `marketplace-plugins/engineering-discipline/` | Marketplace entries can advertise MCP tools, executable skills, templates, validators, language adapters, LSP servers, hooks, agents, and commands. The `engineering-discipline` reference plugin ships a command, reproducible-release skill, release-verifier template, release-gate validator, and Markdown adapter metadata. |
72
- | Autonomous engineering workflow identity | `README.md`, `documentation/`, `marketplace-plugins/engineering-discipline/skills/reproducible-release` | Positions UR as an autonomous engineering workflow engine: plan, execute, test, verify, document, benchmark, and reproduce, with command evidence and rollback discipline as the product promise. |
71
+ | Plugin marketplace capability surfaces | `.ur-plugin/marketplace.json`, `src/utils/plugins/schemas.ts`, `plugins/core/engineering-discipline/` | Marketplace entries can advertise MCP tools, executable skills, templates, validators, language adapters, LSP servers, hooks, agents, and commands. The `engineering-discipline` reference plugin ships a command, reproducible-release skill, release-verifier template, release-gate validator, and Markdown adapter metadata. |
72
+ | Autonomous engineering workflow identity | `README.md`, `documentation/`, `plugins/core/engineering-discipline/skills/reproducible-release` | Positions UR as an autonomous engineering workflow engine: plan, execute, test, verify, document, benchmark, and reproduce, with command evidence and rollback discipline as the product promise. |
73
73
  | Release readiness guard | `.github/workflows/test.yml`, `test/releaseReadiness.test.ts` | Asserts production bundle, release, package, and global-install checks run only after the Bun test step succeeds in GitHub CI. |
74
74
 
75
75
  ## v1.22.3 Additions
@@ -1,4 +1,4 @@
1
- # UR Agent 1.15.0 Upgrade Notes
1
+ # UR-AGENT 1.15.0 Upgrade Notes
2
2
 
3
3
  UR 1.15.0 keeps the agent local-first and Ollama-centered. The new agent
4
4
  platform surfaces do not add Anthropic, OpenAI, or other direct provider API
@@ -1,4 +1,4 @@
1
- # UR Agent 1.16.0 Upgrade Notes
1
+ # UR-AGENT 1.16.0 Upgrade Notes
2
2
 
3
3
  UR 1.16.0 adds local-network Ollama discovery. The agent can now find Ollama
4
4
  servers on your LAN, let you pick one at startup, and remember the choice for
@@ -1,4 +1,4 @@
1
- # UR Agent 1.17.0 Upgrade Notes
1
+ # UR-AGENT 1.17.0 Upgrade Notes
2
2
 
3
3
  UR 1.17.0 adds the P0 reliable repo editing surface.
4
4
 
@@ -1,4 +1,4 @@
1
- # UR Agent 1.18.0 Upgrade Notes
1
+ # UR-AGENT 1.18.0 Upgrade Notes
2
2
 
3
3
  UR 1.18.0 adds the P0 test-first execution loop.
4
4
 
@@ -1,4 +1,4 @@
1
- # UR Agent 1.19.0 Upgrade Notes
1
+ # UR-AGENT 1.19.0 Upgrade Notes
2
2
 
3
3
  UR 1.19.0 adds two P0 agent reliability surfaces: project safety policy and
4
4
  project context packing.
@@ -1,4 +1,4 @@
1
- # UR Agent 1.20.0 Upgrade Notes
1
+ # UR-AGENT 1.20.0 Upgrade Notes
2
2
 
3
3
  UR 1.20.0 adds IDE integration and a richer tool surface for agent workflows.
4
4
 
@@ -1,4 +1,4 @@
1
- # Upgrading to UR Agent v1.21.0
1
+ # Upgrading to UR-AGENT v1.21.0
2
2
 
3
3
  ## What's new
4
4
 
@@ -1,4 +1,4 @@
1
- # Upgrading to UR Agent v1.22.0
1
+ # Upgrading to UR-AGENT v1.22.0
2
2
 
3
3
  ## What's new
4
4
 
@@ -1,4 +1,4 @@
1
- # UR Agent code feature inventory
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
4
  `ur-agent` 1.19.0 source tree. It is meant to cover behavior that is easy to
@@ -22,7 +22,7 @@ Sources traced include:
22
22
  - `src/utils/plugins/**`
23
23
  - `src/entrypoints/mcp.ts`
24
24
  - `src/sdk/index.ts`
25
- - `marketplace-plugins/**`
25
+ - `plugins/core/**`
26
26
 
27
27
  Notes:
28
28
 
@@ -876,7 +876,7 @@ Plugin loading supports:
876
876
  - strict known-marketplace policy
877
877
  - managed plugin settings
878
878
 
879
- Bundled marketplace plugin families in `marketplace-plugins/**`:
879
+ Bundled marketplace plugin families in `plugins/core/**`:
880
880
 
881
881
  - code review
882
882
  - evaluate response
@@ -977,7 +977,8 @@ The broader settings schema also covers:
977
977
 
978
978
  ## Model/provider behavior
979
979
 
980
- - This external build routes model calls through an Ollama provider shim.
980
+ - This external build supports legal provider adapters for subscription CLIs,
981
+ explicit API-key providers, and local/OpenAI-compatible runtimes.
981
982
  - The Ollama router inspects local models and classifies likely coding/fast
982
983
  capabilities.
983
984
  - Auto-routing is on by default through `UR_OLLAMA_AUTO_ROUTE`.
@@ -2,9 +2,22 @@
2
2
 
3
3
  UR reads configuration from CLI flags, environment variables, and project or user settings files.
4
4
 
5
- ## Model Provider
5
+ ## Model Providers
6
6
 
7
- UR runs models strictly through the local Ollama app. The default request endpoint is:
7
+ UR-AGENT supports official provider access paths only:
8
+
9
+ - Subscription/login CLI providers: Codex CLI, Claude Code CLI, Gemini CLI,
10
+ and Antigravity CLI where officially supported.
11
+ - Explicit API providers: OpenAI, Anthropic, Gemini, OpenRouter, and
12
+ OpenAI-compatible endpoints.
13
+ - Local providers: Ollama, LM Studio, llama.cpp, and vLLM OpenAI-compatible
14
+ server mode.
15
+
16
+ UR-AGENT never scrapes browser sessions, extracts OAuth refresh tokens, reads
17
+ hidden provider auth files, bypasses provider restrictions, or proxies consumer
18
+ web sessions as APIs.
19
+
20
+ The default local request endpoint is:
8
21
 
9
22
  ```text
10
23
  http://localhost:11434/api
@@ -12,6 +25,29 @@ http://localhost:11434/api
12
25
 
13
26
  Any model exposed by that Ollama app can be used, including local models and Ollama Cloud-backed models. UR does not call remote provider APIs directly and does not manage model API keys.
14
27
 
28
+ Provider configuration commands:
29
+
30
+ ```sh
31
+ ur provider list
32
+ ur provider doctor
33
+ ur provider status
34
+ ur config set provider ollama
35
+ ur config set provider openai-compatible
36
+ ur config set provider.fallback ollama
37
+ ur config set model <model>
38
+ ur config set base_url <url>
39
+ ```
40
+
41
+ API keys are not written to UR settings. Set them in the environment when you
42
+ explicitly choose API mode:
43
+
44
+ ```sh
45
+ OPENAI_API_KEY=...
46
+ ANTHROPIC_API_KEY=...
47
+ GEMINI_API_KEY=...
48
+ OPENROUTER_API_KEY=...
49
+ ```
50
+
15
51
  ### Reconfiguring the Ollama host
16
52
 
17
53
  The endpoint can be changed from UR in three ways, in order of precedence:
@@ -10,6 +10,8 @@
10
10
  - `src/services/` contains API, MCP, analytics, sync, safety, context, and
11
11
  runtime services.
12
12
  - `src/components/` and `src/ink/` implement the terminal UI.
13
+ - `plugins/core/`, `plugins/community/`, and `plugins/examples/` contain
14
+ shipped plugins, contributed plugin staging, and copyable plugin templates.
13
15
  - `examples/` contains example prompts and workflows.
14
16
  - `test/` contains Bun tests for local UR utility modules.
15
17
 
@@ -34,11 +36,12 @@ bun run dev
34
36
  bun run typecheck
35
37
  bun run lint
36
38
  bun test
37
- bun run bundle
39
+ bun run build
38
40
  bun run smoke
39
41
  bun run secrets:scan
40
42
  bun run release:check
41
43
  bun run package:check
44
+ npm pack --dry-run
42
45
  npm publish --dry-run
43
46
  ```
44
47
 
@@ -71,7 +74,7 @@ only the root README. Check:
71
74
  - `docs/`
72
75
  - `documentation/`
73
76
  - `examples/`
74
- - extension and marketplace README files when the feature affects them
77
+ - extension and plugin README files when the feature affects them
75
78
 
76
79
  For top-level commands, also update the static documentation site command data
77
80
  in `documentation/app.js` and any relevant tutorial section in
@@ -94,7 +97,7 @@ ur --version
94
97
  This package is configured for install without cloning:
95
98
 
96
99
  ```sh
97
- bun add -g github:Maitham16/UR-mapek
100
+ bun add -g github:Maitham16/UR
98
101
  ```
99
102
 
100
103
  The package exposes the global `ur` command from `bin/ur.js`. That launcher reads `package.json` for version and repository metadata, then runs `src/entrypoints/cli.tsx` with Bun.
package/docs/USAGE.md CHANGED
@@ -45,7 +45,7 @@ ur -p \
45
45
  "summarize this project"
46
46
  ```
47
47
 
48
- ## Models
48
+ ## Models And Providers
49
49
 
50
50
  The wrapper in `bin/ur.js` honors explicit model choices in this order:
51
51
 
@@ -82,7 +82,31 @@ Precedence: `--ollama-host` > `OLLAMA_HOST` env > `ollama.host` setting > `local
82
82
  `--discover-ollama` shows the picker every time but does **not** save the choice;
83
83
  use `ollama.host` in settings if you want plain `ur` to default to a LAN host.
84
84
 
85
- Models exposed by the chosen Ollama app are valid, including local models and Ollama Cloud-backed models. UR does not call provider APIs directly or manage model API keys.
85
+ Models exposed by the chosen Ollama app are valid, including local models and
86
+ Ollama Cloud-backed models.
87
+
88
+ UR-AGENT also has explicit provider commands for legal access paths:
89
+
90
+ ```sh
91
+ ur provider list
92
+ ur provider status
93
+ ur provider doctor
94
+ ur auth chatgpt
95
+ ur auth claude
96
+ ur auth gemini
97
+ ur auth antigravity
98
+ ur config set provider ollama
99
+ ur config set provider openai-compatible
100
+ ur config set model <model>
101
+ ur config set base_url <url>
102
+ ur config set provider.fallback ollama
103
+ ```
104
+
105
+ API modes are explicit and read keys only from environment variables:
106
+ `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, and
107
+ `OPENROUTER_API_KEY`. Subscription modes call official CLIs such as Codex,
108
+ Claude Code, Gemini CLI, or Antigravity where supported. UR-AGENT never scrapes
109
+ browser sessions, extracts OAuth tokens, or bypasses provider restrictions.
86
110
 
87
111
  ## Project Instructions
88
112
 
@@ -187,6 +211,21 @@ UR includes slash commands and CLI subcommands for common workflows:
187
211
 
188
212
  Interactive sessions also check the published package version and show
189
213
  `Update available: <current> -> <latest>` when a newer release is available.
214
+ Source checkouts print
215
+ `Development build detected. To update, pull latest source or install from npm.`
216
+ instead of attempting to mutate the checkout.
217
+
218
+ ## Status bar
219
+
220
+ Interactive sessions include a compact bottom status bar when stdout is a real
221
+ terminal:
222
+
223
+ ```text
224
+ UR-AGENT v1.25.0 | Provider: Ollama | Auth: local | model: qwen3-coder:480b-cloud | mode: ask | branch: main | tasks: idle | Update: 1.24.0 -> 1.25.0 available
225
+ ```
226
+
227
+ The bar is not rendered in non-interactive mode, CI, dumb terminals, or
228
+ assistant viewer mode. Custom status-line hooks override the built-in bar.
190
229
 
191
230
  Run each command with `--help` for exact flags.
192
231
 
@@ -11,14 +11,14 @@ You need:
11
11
  work because UR talks to the configured Ollama host.
12
12
  - A second Ollama server on the LAN if you want to test network discovery.
13
13
  - UR installed globally (`npm install -g ur-agent`) or this repo installed
14
- globally (`bun add -g github:Maitham16/UR-mapek`) or a
14
+ globally (`bun add -g github:Maitham16/UR`) or a
15
15
  local checkout (`bun run dev`).
16
16
 
17
17
  ## 0. Smoke
18
18
 
19
19
  ```sh
20
20
  ur --version
21
- # expected: 1.19.0 (Ur)
21
+ # expected: 1.25.0 (UR-AGENT)
22
22
  ```
23
23
 
24
24
  ## 0.1 Permission safety and context pack (1.19.0)
@@ -125,7 +125,7 @@ Then inside:
125
125
 
126
126
  Expected: the plugin picker lists `ur-plugins-official` and `hello`. If the
127
127
  marketplace failed to clone, you'll see no entries — fall back to
128
- `/plugin marketplace add github:Maitham16/UR-mapek` and re-run `/plugin`.
128
+ `/plugin marketplace add github:Maitham16/UR` and re-run `/plugin`.
129
129
 
130
130
  Install `hello`:
131
131
 
@@ -295,7 +295,7 @@ Expected: no `unknown option` or `too many arguments` parser errors.
295
295
  ## What to do if any step fails
296
296
 
297
297
  - Step 1 (marketplace): check `ls ~/.ur/marketplaces/` — `ur-plugins-official`
298
- should be there. If absent, `gh repo clone Maitham16/UR-mapek` manually
298
+ should be there. If absent, `gh repo clone Maitham16/UR` manually
299
299
  into `~/.ur/marketplaces/ur-plugins-official` as a fallback.
300
300
  - Steps 2-5 (verifier): set `UR_VERIFIER_MODE=off` and re-run to confirm
301
301
  the issue is the verifier path, not the rest of the loop. Then file an
@@ -0,0 +1,52 @@
1
+ # UR-AGENT plugins
2
+
3
+ UR-AGENT plugins are trusted local extension bundles. They can contribute slash
4
+ commands, MCP servers, executable skills, templates, validators, language
5
+ adapters, LSP servers, hooks, output styles, and agents.
6
+
7
+ ## Repository layout
8
+
9
+ ```text
10
+ plugins/
11
+ core/ # first-party plugins shipped with UR-AGENT
12
+ community/ # contributed plugins staged for review
13
+ examples/ # templates users can copy
14
+ src/plugins/ # built-in plugin registration code
15
+ ```
16
+
17
+ The official marketplace manifest lives at `.ur-plugin/marketplace.json` and
18
+ uses local paths such as `./plugins/core/hello`. It does not depend on previous
19
+ repositories.
20
+
21
+ ## Create a plugin
22
+
23
+ Copy the command template:
24
+
25
+ ```bash
26
+ cp -R plugins/examples/command-template plugins/community/my-plugin
27
+ ```
28
+
29
+ Edit:
30
+
31
+ ```text
32
+ plugins/community/my-plugin/.ur-plugin/plugin.json
33
+ plugins/community/my-plugin/commands/example.md
34
+ ```
35
+
36
+ Then run it locally:
37
+
38
+ ```bash
39
+ ur --plugin-dir ./plugins/community/my-plugin
40
+ ```
41
+
42
+ ## Add a first-party marketplace plugin
43
+
44
+ 1. Put the plugin under `plugins/core/<name>/`.
45
+ 2. Keep its manifest at `plugins/core/<name>/.ur-plugin/plugin.json`.
46
+ 3. Add an entry to `.ur-plugin/marketplace.json` with `source` set to
47
+ `./plugins/core/<name>`.
48
+ 4. Set `capabilities` accurately so users know what the plugin enables.
49
+ 5. Run `bun test test/marketplaceTree.test.ts` before submitting.
50
+
51
+ Plugins are loaded from local UR-AGENT paths first. Network marketplace installs
52
+ remain explicit user actions and are subject to plugin policy checks.
@@ -0,0 +1,104 @@
1
+ # UR-AGENT providers
2
+
3
+ UR-AGENT integrates official model access paths only. It supports subscription
4
+ CLI login flows, explicit API-key providers, and local OpenAI-compatible
5
+ runtimes. It does not implement hidden or unofficial authentication.
6
+
7
+ ## Legal auth policy
8
+
9
+ UR-AGENT never:
10
+
11
+ - scrapes browser cookies or browser sessions
12
+ - extracts, copies, or reuses OAuth refresh tokens
13
+ - reads hidden provider auth files directly
14
+ - bypasses subscription, quota, region, product, or organization restrictions
15
+ - proxies a consumer web session as an API
16
+ - claims provider support unless the official CLI/API path works
17
+
18
+ UR-AGENT stores only safe config: provider name, model name, base URL, command
19
+ path, fallback preference, and non-secret preferences. API keys are read from
20
+ environment variables only when the user explicitly selects API mode.
21
+
22
+ ## Provider matrix
23
+
24
+ | Provider | Access type | Legal path |
25
+ | --- | --- | --- |
26
+ | ChatGPT/Codex | subscription | official Codex CLI login |
27
+ | Claude Code | subscription | official Claude Code login |
28
+ | Gemini CLI | subscription | official Gemini Code Assist login |
29
+ | Antigravity | subscription | official Antigravity login, where supported |
30
+ | OpenAI | API | `OPENAI_API_KEY` |
31
+ | Anthropic Claude | API | `ANTHROPIC_API_KEY` |
32
+ | Gemini | API | `GEMINI_API_KEY` |
33
+ | OpenRouter | API/router | `OPENROUTER_API_KEY` |
34
+ | Ollama | local | localhost Ollama runtime |
35
+ | LM Studio | local | local OpenAI-compatible server |
36
+ | llama.cpp | local | local OpenAI-compatible server |
37
+ | vLLM | local/server | OpenAI-compatible server |
38
+
39
+ ## Commands
40
+
41
+ ```sh
42
+ ur provider list
43
+ ur provider status
44
+ ur provider doctor
45
+ ur provider doctor codex-cli
46
+ ur auth chatgpt
47
+ ur auth claude
48
+ ur auth gemini
49
+ ur auth antigravity
50
+ ur config set provider codex-cli
51
+ ur config set provider ollama
52
+ ur config set provider openai-compatible
53
+ ur config set model <model>
54
+ ur config set base_url <url>
55
+ ur config set provider.fallback ollama
56
+ ```
57
+
58
+ `ur provider doctor` checks the selected provider. It reports installed/missing
59
+ CLIs, official login status where available, API key presence for API providers,
60
+ local endpoint reachability, detectable model availability, unsupported account
61
+ type signals, and fallback configuration.
62
+
63
+ Fallback is never silent by default. If the selected provider fails, UR-AGENT
64
+ reports the selected provider, failure reason, suggested fix, and configured
65
+ fallback option.
66
+
67
+ ## Subscription CLI providers
68
+
69
+ - `codex-cli`: detects `codex --version`, uses `codex login` or
70
+ `codex login --device-auth`, and checks `codex login status`.
71
+ - `claude-code-cli`: detects `claude --version`, uses `claude auth login`, and
72
+ checks `claude auth status` when available. If `ANTHROPIC_API_KEY` is set,
73
+ doctor warns that API-key mode may override subscription auth.
74
+ - `gemini-cli`: launches only the official Gemini CLI flow. If the detected
75
+ path is an unsupported personal-account path, UR-AGENT prints a clear error.
76
+ - `antigravity-cli`: launches only an installed official CLI command where
77
+ supported; UR-AGENT does not invent flags.
78
+
79
+ ## API and local providers
80
+
81
+ API providers require explicit user selection and environment keys:
82
+
83
+ ```sh
84
+ OPENAI_API_KEY=...
85
+ ANTHROPIC_API_KEY=...
86
+ GEMINI_API_KEY=...
87
+ OPENROUTER_API_KEY=...
88
+ ```
89
+
90
+ OpenAI-compatible endpoints can point at local or cloud endpoints:
91
+
92
+ ```sh
93
+ ur config set provider openai-compatible
94
+ ur config set base_url http://localhost:1234/v1
95
+ ur config set model local-model-name
96
+ ```
97
+
98
+ Local providers use their normal servers:
99
+
100
+ - Ollama: `http://localhost:11434`
101
+ - LM Studio: `http://localhost:1234/v1`
102
+ - llama.cpp server mode: `http://localhost:8080/v1`
103
+ - vLLM server mode: `http://localhost:8000/v1`
104
+
@@ -1,6 +1,6 @@
1
- # UR Agent Documentation Site
1
+ # UR-AGENT Documentation Site
2
2
 
3
- This folder is a static documentation project for UR Agent.
3
+ This folder is a static documentation project for UR-AGENT.
4
4
 
5
5
  Open `index.html` directly in a browser. No build step or dev server is
6
6
  required.
@@ -66,7 +66,7 @@ const commands = [
66
66
  name: 'ur',
67
67
  category: 'Core',
68
68
  aliases: [],
69
- summary: 'Start an interactive UR Agent session in the current workspace.',
69
+ summary: 'Start an interactive UR-AGENT session in the current workspace.',
70
70
  examples: ['ur', 'ur --model qwen3-coder:480b-cloud', 'ur --continue', 'ur --resume'],
71
71
  },
72
72
  {
@@ -374,7 +374,7 @@ const commands = [
374
374
  name: 'update',
375
375
  category: 'Ops',
376
376
  aliases: ['upgrade'],
377
- summary: 'Check for updates and install if available. Interactive sessions also show an update-available notice when a newer package is published.',
377
+ summary: 'Check npm for UR-AGENT updates. Interactive sessions also show an update-available notice when a newer package is published.',
378
378
  examples: ['ur update', 'ur upgrade'],
379
379
  },
380
380
  {
@@ -1,5 +1,5 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="1120" height="560" viewBox="0 0 1120 560" role="img" aria-labelledby="title desc">
2
- <title id="title">UR Agent runtime architecture</title>
2
+ <title id="title">UR-AGENT runtime architecture</title>
3
3
  <desc id="desc">A diagram showing users, the UR CLI, project context, tools, agent orchestration, local Ollama models, and outputs.</desc>
4
4
  <defs>
5
5
  <linearGradient id="panel" x1="0" x2="1" y1="0" y2="1">
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>UR Agent Documentation</title>
7
- <meta name="description" content="Professional documentation, tutorials, examples, and command reference for UR Agent.">
6
+ <title>UR-AGENT Documentation</title>
7
+ <meta name="description" content="Professional documentation, tutorials, examples, and command reference for UR-AGENT.">
8
8
  <link rel="stylesheet" href="styles.css">
9
9
  </head>
10
10
  <body>
@@ -14,7 +14,7 @@
14
14
  <div class="brand">
15
15
  <div class="brand-mark" aria-hidden="true">UR</div>
16
16
  <div>
17
- <strong>UR Agent</strong>
17
+ <strong>UR-AGENT</strong>
18
18
  <span>Documentation</span>
19
19
  </div>
20
20
  </div>
@@ -44,8 +44,8 @@
44
44
  <header class="topbar">
45
45
  <div>
46
46
  <p class="eyebrow">Version 1.24.0</p>
47
- <h1>UR Agent Documentation</h1>
48
- <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR Agent.</p>
47
+ <h1>UR-AGENT Documentation</h1>
48
+ <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-AGENT.</p>
49
49
  </div>
50
50
  <div class="topbar-actions">
51
51
  <a class="button" href="#quickstart">Start</a>
@@ -134,7 +134,7 @@ ur -p --output-format json "Review the current diff"</code></pre>
134
134
  <p>The CLI is the control plane. Project context and <code>.ur</code> assets feed agent orchestration, which uses local Ollama models and approved tools to produce code, docs, PRs, reports, and automation outputs.</p>
135
135
  </div>
136
136
  <figure class="diagram">
137
- <img src="assets/ur-architecture.svg" alt="UR Agent runtime architecture diagram">
137
+ <img src="assets/ur-architecture.svg" alt="UR-AGENT runtime architecture diagram">
138
138
  </figure>
139
139
  </section>
140
140
 
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.24.0",
4
- "description": "UR — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
3
+ "version": "1.25.0",
4
+ "description": "UR-AGENT — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/Maitham16/UR-mapek.git"
9
+ "url": "git+https://github.com/Maitham16/UR.git"
10
10
  },
11
11
  "bugs": {
12
- "url": "https://github.com/Maitham16/UR-mapek/issues"
12
+ "url": "https://github.com/Maitham16/UR/issues"
13
13
  },
14
- "homepage": "https://github.com/Maitham16/UR-mapek#readme",
15
- "license": "LicenseRef-UR-Agent-Non-Commercial-Self-Responsibility",
14
+ "homepage": "https://github.com/Maitham16/UR#readme",
15
+ "license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
16
16
  "keywords": [
17
17
  "agent",
18
18
  "cli",
@@ -30,16 +30,20 @@
30
30
  "documentation",
31
31
  "extensions",
32
32
  "examples",
33
- "marketplace-plugins",
33
+ "plugins",
34
34
  "CHANGELOG.md",
35
+ "CONTRIBUTING.md",
35
36
  "QUALITY.md",
36
37
  "README.md",
38
+ "RELEASE.md",
39
+ "SECURITY.md",
37
40
  "LICENSE"
38
41
  ],
39
42
  "scripts": {
40
43
  "start": "node ./bin/ur.js",
41
44
  "dev": "bun --watch run src/entrypoints/cli.tsx",
42
45
  "bundle": "node scripts/bundle.mjs",
46
+ "build": "node scripts/bundle.mjs",
43
47
  "release:check": "node scripts/release-check.mjs",
44
48
  "typecheck": "bun run tsc --noEmit",
45
49
  "lint": "node scripts/lint.mjs",
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Bun plugin that provides a runtime implementation of the `bun:bundle` module.
3
+ *
4
+ * In production, Bun's bundler statically replaces `feature()` calls at compile
5
+ * time. During development (running unbundled with `bun run`), this plugin
6
+ * intercepts `bun:bundle` imports and returns a stub where every feature flag
7
+ * is `false` by default.
8
+ *
9
+ * To enable specific flags during dev, set the env var FEATURE_FLAGS as a
10
+ * comma-separated list:
11
+ *
12
+ * FEATURE_FLAGS=KAIROS,VOICE_MODE bun run src/main.tsx
13
+ */
14
+ import { plugin } from 'bun'
15
+
16
+ const enabledFlags = new Set(
17
+ (process.env.FEATURE_FLAGS ?? '').split(',').filter(Boolean),
18
+ )
19
+
20
+ plugin({
21
+ name: 'bun-bundle-dev',
22
+ setup(build) {
23
+ build.module('bun:bundle', () => ({
24
+ exports: {
25
+ feature(flag: string): boolean {
26
+ return enabledFlags.has(flag)
27
+ },
28
+ },
29
+ loader: 'object',
30
+ }))
31
+ },
32
+ })
@@ -0,0 +1 @@
1
+
@@ -1,4 +1,4 @@
1
- # marketplace-plugins/
1
+ # plugins/core/
2
2
 
3
3
  First-party plugins for the **ur-plugins-official** marketplace.
4
4
 
@@ -42,7 +42,7 @@ templates, deterministic validators, language adapters, and LSP server metadata.
42
42
 
43
43
  ## Adding a new plugin
44
44
 
45
- 1. Copy `hello/` to a new directory, e.g. `marketplace-plugins/my-plugin/`.
45
+ 1. Copy `hello/` to a new directory, e.g. `plugins/core/my-plugin/`.
46
46
  2. Edit `my-plugin/.ur-plugin/plugin.json` with the plugin's real metadata.
47
47
  3. Replace the example command in `my-plugin/commands/` with your own.
48
48
  4. Add optional extension folders as needed:
@@ -56,7 +56,7 @@ templates, deterministic validators, language adapters, and LSP server metadata.
56
56
  6. Set the entry's `capabilities` array so users can see whether it adds MCP
57
57
  tools, skills, templates, validators, language adapters, LSP servers,
58
58
  commands, agents, or hooks before installation.
59
- 7. Open a PR against `Maitham16/UR-mapek`.
59
+ 7. Open a PR against `Maitham16/UR`.
60
60
 
61
61
  See [`hello/README.md`](./hello/README.md) for the smallest possible example.
62
62
 
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "code-review",
3
+ "version": "0.1.0",
4
+ "description": "Adds /code-review — structured review of the working diff against a base ref.",
5
+ "author": {
6
+ "name": "Maitham Al-rubaye",
7
+ "url": "https://github.com/Maitham16/UR"
8
+ },
9
+ "homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/code-review",
10
+ "repository": "https://github.com/Maitham16/UR",
11
+ "license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
12
+ "keywords": ["code-review", "git", "diff", "quality"]
13
+ }