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.
- package/CHANGELOG.md +9 -3
- package/CONTRIBUTING.md +21 -0
- package/LICENSE +1 -1
- package/README.md +100 -14
- package/RELEASE.md +54 -0
- package/SECURITY.md +22 -0
- package/bin/ur.js +5 -5
- package/dist/cli.js +1772 -1071
- package/docs/AGENT_FEATURES.md +2 -2
- package/docs/AGENT_UPGRADE_1.15.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.16.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.17.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.18.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.19.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.20.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.21.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.22.0.md +1 -1
- package/docs/CODE_FEATURE_INVENTORY.md +5 -4
- package/docs/CONFIGURATION.md +38 -2
- package/docs/DEVELOPMENT.md +6 -3
- package/docs/USAGE.md +41 -2
- package/docs/VALIDATION.md +4 -4
- package/docs/plugins.md +52 -0
- package/docs/providers.md +104 -0
- package/documentation/README.md +2 -2
- package/documentation/app.js +2 -2
- package/documentation/assets/ur-architecture.svg +1 -1
- package/documentation/index.html +6 -6
- package/package.json +11 -7
- package/plugins/bunBundleDev.ts +32 -0
- package/plugins/community/.gitkeep +1 -0
- package/{marketplace-plugins → plugins/core}/README.md +3 -3
- package/plugins/core/code-review/.ur-plugin/plugin.json +13 -0
- package/{marketplace-plugins → plugins/core}/engineering-discipline/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/evaluate-response/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/explain-error/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/git-summary/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/github/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/gitlab/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/hello/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/hello/README.md +4 -4
- package/{marketplace-plugins → plugins/core}/huggingface/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/miro/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/obsidian/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/powerpoint/.ur-plugin/plugin.json +4 -4
- package/plugins/core/release-notes/.ur-plugin/plugin.json +13 -0
- package/{marketplace-plugins → plugins/core}/skill-forge/.ur-plugin/plugin.json +4 -4
- package/{marketplace-plugins → plugins/core}/word/.ur-plugin/plugin.json +4 -4
- package/plugins/examples/README.md +12 -0
- package/plugins/examples/command-template/.ur-plugin/plugin.json +12 -0
- package/plugins/examples/command-template/README.md +9 -0
- package/plugins/examples/command-template/commands/example.md +7 -0
- package/marketplace-plugins/code-review/.ur-plugin/plugin.json +0 -13
- package/marketplace-plugins/release-notes/.ur-plugin/plugin.json +0 -13
- /package/{marketplace-plugins → plugins/core}/code-review/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/code-review/commands/code-review.md +0 -0
- /package/{marketplace-plugins → plugins/core}/engineering-discipline/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/engineering-discipline/commands/discipline-check.md +0 -0
- /package/{marketplace-plugins → plugins/core}/engineering-discipline/skills/reproducible-release/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/engineering-discipline/templates/release-verifier.md +0 -0
- /package/{marketplace-plugins → plugins/core}/engineering-discipline/validators/release-gate.json +0 -0
- /package/{marketplace-plugins → plugins/core}/evaluate-response/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/evaluate-response/commands/evaluate-response.md +0 -0
- /package/{marketplace-plugins → plugins/core}/explain-error/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/explain-error/commands/explain-error.md +0 -0
- /package/{marketplace-plugins → plugins/core}/git-summary/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/git-summary/commands/git-summary.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/commands/gh-issues.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/commands/gh-pr-create.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/commands/gh-pr-review.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/commands/gh-repo-health.md +0 -0
- /package/{marketplace-plugins → plugins/core}/github/skills/github-workflow/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-issues.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-mr-create.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-mr-review.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/commands/gl-pipeline.md +0 -0
- /package/{marketplace-plugins → plugins/core}/gitlab/skills/gitlab-workflow/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/hello/commands/hello.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-dataset-search.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-download.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-model-card.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/commands/hf-model-search.md +0 -0
- /package/{marketplace-plugins → plugins/core}/huggingface/skills/huggingface-workflow/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/commands/miro-board.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/commands/miro-diagram.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/commands/miro-export.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/commands/miro-stickies.md +0 -0
- /package/{marketplace-plugins → plugins/core}/miro/skills/miro-workflow/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/commands/backlinks.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/commands/daily-note.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/commands/moc.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/commands/second-brain.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/commands/vault-search.md +0 -0
- /package/{marketplace-plugins → plugins/core}/obsidian/skills/second-brain/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-from-md.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-new.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-review.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/commands/pptx-theme.md +0 -0
- /package/{marketplace-plugins → plugins/core}/powerpoint/skills/deck-craft/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/release-notes/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/release-notes/commands/release-notes.md +0 -0
- /package/{marketplace-plugins → plugins/core}/skill-forge/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/skill-forge/commands/forge-skill.md +0 -0
- /package/{marketplace-plugins → plugins/core}/skill-forge/commands/skill-refine.md +0 -0
- /package/{marketplace-plugins → plugins/core}/skill-forge/skills/skill-authoring/SKILL.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/README.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/commands/docx-edit.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/commands/docx-from-md.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/commands/docx-new.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/commands/docx-review.md +0 -0
- /package/{marketplace-plugins → plugins/core}/word/skills/document-craft/SKILL.md +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.25.0
|
|
4
|
+
|
|
5
|
+
- Add legal multi-provider auth/provider management for subscription CLI, API-key, and local runtime access paths.
|
|
6
|
+
- Add provider doctor/status/config commands, provider-aware status bar display, and explicit no-token-scraping safety policy.
|
|
7
|
+
- Relax plan-mode clarification choices so professional redesign prompts do not fail when more than four options are supplied.
|
|
8
|
+
|
|
3
9
|
## 1.24.0
|
|
4
10
|
|
|
5
11
|
### Added
|
|
@@ -13,7 +19,7 @@
|
|
|
13
19
|
global-install GitHub checks behind successful Bun tests.
|
|
14
20
|
|
|
15
21
|
### Changed
|
|
16
|
-
- npm package now includes `
|
|
22
|
+
- npm package now includes `plugins/` and documents the
|
|
17
23
|
marketplace surfaces in the npm README.
|
|
18
24
|
- UR product positioning is documented as an autonomous engineering workflow
|
|
19
25
|
engine for plan, execute, test, verify, document, benchmark, and reproduce.
|
|
@@ -764,7 +770,7 @@
|
|
|
764
770
|
agent identity, and multimodal workflows. The report includes source
|
|
765
771
|
references for each trend.
|
|
766
772
|
- **A2A Agent Card export.** New `ur a2a card` CLI command and `/a2a-card`
|
|
767
|
-
slash command print UR
|
|
773
|
+
slash command print UR-AGENT Card metadata for discovery by A2A-aware tools.
|
|
768
774
|
- **Professional trend docs.** `docs/AGENT_TRENDS.md` documents the coverage
|
|
769
775
|
matrix, source/trust policy, and prioritized roadmap.
|
|
770
776
|
|
|
@@ -806,7 +812,7 @@
|
|
|
806
812
|
discovery is unavailable.
|
|
807
813
|
- **Repository metadata now matches production.** Package metadata, docs, bundled
|
|
808
814
|
issue links, marketplace defaults, and GitHub workflow templates now point to
|
|
809
|
-
`Maitham16/UR
|
|
815
|
+
`Maitham16/UR`.
|
|
810
816
|
|
|
811
817
|
### Added
|
|
812
818
|
- **Release consistency gate.** `bun run release:check` verifies package,
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Contributing to UR-AGENT
|
|
2
|
+
|
|
3
|
+
Use the project scripts before opening a pull request:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
bun install
|
|
7
|
+
bun test
|
|
8
|
+
bun run typecheck
|
|
9
|
+
bun run lint
|
|
10
|
+
bun run build
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Keep changes scoped and update documentation for public behavior. Do not commit
|
|
14
|
+
local runtime state, secrets, generated caches, or private `.ur/` data.
|
|
15
|
+
|
|
16
|
+
Plugin contributions should start in `plugins/community/` or from
|
|
17
|
+
`plugins/examples/command-template/`. First-party plugins that ship in releases
|
|
18
|
+
belong in `plugins/core/` and must be listed in `.ur-plugin/marketplace.json`.
|
|
19
|
+
|
|
20
|
+
Release work must follow `RELEASE.md` and must not claim success without command
|
|
21
|
+
evidence.
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# UR
|
|
1
|
+
# UR-AGENT
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<strong>Autonomous engineering workflow engine for reproducible software work.</strong>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="./QUALITY.md"><img alt="quality gate" src="https://img.shields.io/badge/quality-release%20gated-brightgreen.svg"></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
-
UR
|
|
13
|
+
UR-AGENT is a Bun and TypeScript autonomous engineering workflow engine: a
|
|
14
14
|
reproducible autonomous software engineering agent built for disciplined local
|
|
15
15
|
and CI-driven work. It is not only chat, autocomplete, or code edits: UR is
|
|
16
16
|
built to plan, execute, test, verify, document, benchmark, and reproduce
|
|
@@ -21,9 +21,9 @@ multi-agent execution, test-first quality loops, CI repair loops, background
|
|
|
21
21
|
agents, MCP servers, plugins, skills, memory, permission safety policy,
|
|
22
22
|
project context packing, verification, and local model routing.
|
|
23
23
|
|
|
24
|
-
UR
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
UR-AGENT integrates official model access paths only: subscription CLIs,
|
|
25
|
+
explicit API-key mode, and local OpenAI-compatible runtimes. It never scrapes
|
|
26
|
+
browser sessions, extracts OAuth tokens, or bypasses provider restrictions.
|
|
27
27
|
|
|
28
28
|
## Why UR
|
|
29
29
|
|
|
@@ -38,6 +38,10 @@ handing work off to other tools or agents when needed.
|
|
|
38
38
|
`ur -p` for automation-friendly output.
|
|
39
39
|
- **Local model runtime.** Use any model exposed by Ollama, set a specific host
|
|
40
40
|
with `--ollama-host`, or discover LAN Ollama servers with `--discover-ollama`.
|
|
41
|
+
- **Legal provider routing.** Use `ur provider`, `ur auth chatgpt`,
|
|
42
|
+
`ur auth claude`, `ur auth gemini`, `ur auth antigravity`, and safe
|
|
43
|
+
`ur config set ...` commands to select official subscription, API, or local
|
|
44
|
+
providers without storing secrets in UR settings.
|
|
41
45
|
- **Agent workflows.** Use `ur spec`, `ur arena`, `ur test-first`,
|
|
42
46
|
`ur ci-loop`, `ur bg`, `ur workflow`, `ur crew`, and `ur automation` for
|
|
43
47
|
structured work beyond a single chat turn.
|
|
@@ -84,12 +88,13 @@ Install the global `ur` command:
|
|
|
84
88
|
```sh
|
|
85
89
|
npm install -g ur-agent
|
|
86
90
|
ur --version
|
|
91
|
+
ur --help
|
|
87
92
|
```
|
|
88
93
|
|
|
89
94
|
Install directly from GitHub when you want this repository build:
|
|
90
95
|
|
|
91
96
|
```sh
|
|
92
|
-
bun add -g github:Maitham16/UR
|
|
97
|
+
bun add -g github:Maitham16/UR
|
|
93
98
|
ur --version
|
|
94
99
|
```
|
|
95
100
|
|
|
@@ -118,6 +123,18 @@ ur --continue
|
|
|
118
123
|
ur --resume
|
|
119
124
|
```
|
|
120
125
|
|
|
126
|
+
Check for npm updates:
|
|
127
|
+
|
|
128
|
+
```sh
|
|
129
|
+
ur upgrade
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Source checkouts report:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
Development build detected. To update, pull latest source or install from npm.
|
|
136
|
+
```
|
|
137
|
+
|
|
121
138
|
Choose a model or Ollama host:
|
|
122
139
|
|
|
123
140
|
```sh
|
|
@@ -130,6 +147,47 @@ Model selection precedence is `OLLAMA_MODEL`, then `UR_MODEL`, then the model
|
|
|
130
147
|
router over the configured Ollama host. If model discovery fails, the built-in
|
|
131
148
|
fallback is `qwen3-coder:480b-cloud`.
|
|
132
149
|
|
|
150
|
+
### Legal Provider Auth
|
|
151
|
+
|
|
152
|
+
UR-AGENT stores only safe provider preferences: provider name, model name,
|
|
153
|
+
base URL, command path, fallback preference, and non-secret settings. API keys
|
|
154
|
+
must stay in environment variables and subscription providers must authenticate
|
|
155
|
+
through their official CLIs.
|
|
156
|
+
|
|
157
|
+
```sh
|
|
158
|
+
ur provider list
|
|
159
|
+
ur provider status
|
|
160
|
+
ur provider doctor
|
|
161
|
+
ur auth chatgpt
|
|
162
|
+
ur auth claude
|
|
163
|
+
ur auth gemini
|
|
164
|
+
ur auth antigravity
|
|
165
|
+
ur config set provider codex-cli
|
|
166
|
+
ur config set model qwen3-coder:480b-cloud
|
|
167
|
+
ur config set base_url http://localhost:11434
|
|
168
|
+
ur config set provider.fallback ollama
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
| Provider | Access type | Legal path |
|
|
172
|
+
| --- | --- | --- |
|
|
173
|
+
| ChatGPT/Codex | subscription | official Codex CLI login |
|
|
174
|
+
| Claude Code | subscription | official Claude Code login |
|
|
175
|
+
| Gemini CLI | subscription | official Gemini Code Assist login |
|
|
176
|
+
| Antigravity | subscription | official Antigravity login, where supported |
|
|
177
|
+
| OpenAI | API | `OPENAI_API_KEY` |
|
|
178
|
+
| Anthropic Claude | API | `ANTHROPIC_API_KEY` |
|
|
179
|
+
| Gemini | API | `GEMINI_API_KEY` |
|
|
180
|
+
| OpenRouter | API/router | `OPENROUTER_API_KEY` |
|
|
181
|
+
| Ollama | local | localhost Ollama runtime |
|
|
182
|
+
| LM Studio | local | local OpenAI-compatible server |
|
|
183
|
+
| llama.cpp | local | local OpenAI-compatible server |
|
|
184
|
+
| vLLM | local/server | OpenAI-compatible server |
|
|
185
|
+
|
|
186
|
+
Security policy: UR-AGENT never scrapes browser sessions, extracts OAuth
|
|
187
|
+
tokens, bypasses subscription/quota/region/organization restrictions, proxies a
|
|
188
|
+
consumer web session as an API, or claims support for a provider unless the
|
|
189
|
+
official CLI/API path works. See [Provider Guide](docs/providers.md).
|
|
190
|
+
|
|
133
191
|
## Command Surface
|
|
134
192
|
|
|
135
193
|
Run `ur --help` for the complete CLI reference. These commands are implemented
|
|
@@ -167,16 +225,37 @@ as first-class subcommands in the shipped CLI.
|
|
|
167
225
|
| `ur eval bench` | Import local SWE-bench, Terminal-Bench, or Aider Polyglot exports. |
|
|
168
226
|
| `ur model-doctor` | Inspect Ollama models and report likely agent capabilities. |
|
|
169
227
|
| `ur model-route` | Recommend a local model for a task by capability fit. |
|
|
228
|
+
| `ur provider` | List, check, and diagnose legal model provider adapters. |
|
|
229
|
+
| `ur auth chatgpt` | Launch the official Codex CLI login for ChatGPT subscription access. |
|
|
230
|
+
| `ur auth claude` | Launch the official Claude Code login flow. |
|
|
231
|
+
| `ur auth gemini` | Use the official Gemini CLI login flow where supported. |
|
|
232
|
+
| `ur auth antigravity` | Use the official Antigravity CLI login flow where supported. |
|
|
233
|
+
| `ur config set` | Persist safe non-secret provider settings such as provider, model, base URL, command path, and fallback. |
|
|
170
234
|
| `ur mcp` | Configure and manage Model Context Protocol servers. |
|
|
171
235
|
| `ur plugin` | Install, update, enable, disable, and validate UR plugins that can add MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands. |
|
|
172
236
|
| `ur role-mode` | Install built-in Architect, Code, Debug, and Ask role modes. |
|
|
173
237
|
| `ur acp` | Start/stop/status the Agent Communication Protocol server for IDE extensions. |
|
|
174
238
|
| `ur exec` | Run one or more prompts in non-interactive mode with optional concurrency. |
|
|
175
239
|
| `ur ide diff` | Capture editor-readable inline diff bundles. |
|
|
176
|
-
| `ur a2a card` | Print UR
|
|
240
|
+
| `ur a2a card` | Print UR-AGENT Card metadata for agent interoperability. |
|
|
177
241
|
| `ur a2a serve` | Start an opt-in local A2A task server with bearer or delegation auth. |
|
|
178
242
|
| `ur sdk` | Show programmatic headless usage and scaffold SDK examples. |
|
|
179
243
|
|
|
244
|
+
### Status Bar
|
|
245
|
+
|
|
246
|
+
Interactive sessions show a compact bottom status bar when the terminal supports
|
|
247
|
+
it. It is hidden in CI, dumb terminals, non-interactive mode, and assistant
|
|
248
|
+
viewer mode.
|
|
249
|
+
|
|
250
|
+
Example:
|
|
251
|
+
|
|
252
|
+
```text
|
|
253
|
+
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
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
If a custom status-line hook is configured, UR-AGENT uses that hook output
|
|
257
|
+
instead of the built-in bar.
|
|
258
|
+
|
|
180
259
|
New slash skills run agentic work in isolated git worktrees with clean commits and PR output:
|
|
181
260
|
`/debug-v2`, `/refactor`, `/paper-implementation`, `/benchmark`, `/security-review`, `/dockerize`, `/latex-paper`.
|
|
182
261
|
Install matching agent templates with `ur agent-templates install`.
|
|
@@ -202,8 +281,9 @@ ur plugin disable <plugin>
|
|
|
202
281
|
```
|
|
203
282
|
|
|
204
283
|
The npm package includes `README.md`, `QUALITY.md`, `docs/`, `documentation/`,
|
|
205
|
-
and `
|
|
206
|
-
|
|
284
|
+
and `plugins/`, so the npm package page and installed artifact both carry the
|
|
285
|
+
marketplace documentation, core plugins, community staging directory, and
|
|
286
|
+
example plugin template. See [Plugin Guide](docs/plugins.md).
|
|
207
287
|
|
|
208
288
|
UR also documents the core Cursor-style agent primitives as first-class,
|
|
209
289
|
project-backed features: Agent surfaces (`ur`, `ur agents`, `ur crew`, `ur bg`),
|
|
@@ -265,7 +345,6 @@ UR reads repository instructions and local runtime state from project files:
|
|
|
265
345
|
- `UR.local.md` is for private local instructions.
|
|
266
346
|
- `.ur/skills/` stores project skills.
|
|
267
347
|
- `.ur/agents/` stores custom agents and role modes.
|
|
268
|
-
- `.ur/specs/`, `.ur/artifacts/`, `.ur/automations/`, `.ur/test-first/`,
|
|
269
348
|
- `.ur/safety-policy.json` configures project shell safety rules for read,
|
|
270
349
|
write, execute, and network command classes.
|
|
271
350
|
- `.ur/project-manifest.json` and `.ur/context/` hold architecture summaries,
|
|
@@ -297,7 +376,9 @@ settings, generated indexes, memory, logs, and secrets out of Git.
|
|
|
297
376
|
agents, A2A, analytics, sync, and API integration.
|
|
298
377
|
- `extensions/vscode-ur-inline-diffs/` contains the VS Code inline diff review
|
|
299
378
|
extension.
|
|
300
|
-
- `
|
|
379
|
+
- `plugins/core/` contains first-party marketplace plugins.
|
|
380
|
+
- `plugins/community/` stages contributed plugins.
|
|
381
|
+
- `plugins/examples/` contains plugin templates users can copy.
|
|
301
382
|
|
|
302
383
|
## Safety Model
|
|
303
384
|
|
|
@@ -351,11 +432,12 @@ Build and verify a release:
|
|
|
351
432
|
bun run typecheck
|
|
352
433
|
bun run lint
|
|
353
434
|
bun test
|
|
354
|
-
bun run
|
|
435
|
+
bun run build
|
|
355
436
|
bun run smoke
|
|
356
437
|
bun run secrets:scan
|
|
357
438
|
bun run release:check
|
|
358
439
|
bun run package:check
|
|
440
|
+
npm pack --dry-run
|
|
359
441
|
npm publish --dry-run
|
|
360
442
|
```
|
|
361
443
|
|
|
@@ -378,7 +460,11 @@ release until that GitHub run is green.
|
|
|
378
460
|
- [1.18.0 Upgrade Notes](docs/AGENT_UPGRADE_1.18.0.md)
|
|
379
461
|
- [1.17.0 Upgrade Notes](docs/AGENT_UPGRADE_1.17.0.md)
|
|
380
462
|
- [Development Guide](docs/DEVELOPMENT.md)
|
|
463
|
+
- [Plugin Guide](docs/plugins.md)
|
|
381
464
|
- [Validation Runbook](docs/VALIDATION.md)
|
|
465
|
+
- [Release Runbook](RELEASE.md)
|
|
466
|
+
- [Contributing](CONTRIBUTING.md)
|
|
467
|
+
- [Security](SECURITY.md)
|
|
382
468
|
- [Static Documentation Site](documentation/index.html)
|
|
383
469
|
|
|
384
470
|
The `examples/` directory includes prompt and workflow examples for coding,
|
|
@@ -386,8 +472,8 @@ research, browser, image, video, MCP, memory, and agent-platform tasks.
|
|
|
386
472
|
|
|
387
473
|
## License
|
|
388
474
|
|
|
389
|
-
UR
|
|
390
|
-
[UR
|
|
475
|
+
UR-AGENT is released under the
|
|
476
|
+
[UR-AGENT Non-Commercial Self-Responsibility License](LICENSE).
|
|
391
477
|
|
|
392
478
|
Personal, educational, research, evaluation, and other non-commercial use is
|
|
393
479
|
permitted. Commercial use requires prior written permission from Maitham
|
package/RELEASE.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# UR-AGENT release runbook
|
|
2
|
+
|
|
3
|
+
Release target:
|
|
4
|
+
|
|
5
|
+
- GitHub: `https://github.com/Maitham16/UR.git`
|
|
6
|
+
- npm package: `ur-agent`
|
|
7
|
+
- CLI binary: `ur`
|
|
8
|
+
|
|
9
|
+
## Required checks
|
|
10
|
+
|
|
11
|
+
Run from the repository root:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
bun install
|
|
15
|
+
bun test
|
|
16
|
+
bun run typecheck
|
|
17
|
+
bun run lint
|
|
18
|
+
bun run build
|
|
19
|
+
node ./bin/ur.js --version
|
|
20
|
+
node ./bin/ur.js --help
|
|
21
|
+
node ./bin/ur.js upgrade
|
|
22
|
+
npm pack --dry-run
|
|
23
|
+
npm publish --dry-run
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Also verify:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
git remote -v
|
|
30
|
+
npm whoami
|
|
31
|
+
npm view ur-agent@$(node -p "require('./package.json').version") version
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If `npm whoami` fails, run:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm login
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Do not publish if the package version already exists on npm.
|
|
41
|
+
|
|
42
|
+
## Publish
|
|
43
|
+
|
|
44
|
+
Only after every check passes and the working tree is clean:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
git add .
|
|
48
|
+
git commit -m "chore: polish UR-AGENT production release"
|
|
49
|
+
git push origin master
|
|
50
|
+
npm publish
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If the remote default branch is not `master`, push the checked-out release
|
|
54
|
+
branch instead.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
Report security issues privately to the maintainer before opening a public
|
|
4
|
+
issue.
|
|
5
|
+
|
|
6
|
+
## Supported release
|
|
7
|
+
|
|
8
|
+
Only the latest npm release of `ur-agent` is supported for security fixes.
|
|
9
|
+
|
|
10
|
+
## Handling secrets
|
|
11
|
+
|
|
12
|
+
Do not commit API keys, tokens, private URLs, credentials, local `.ur/` run
|
|
13
|
+
state, shell history, or generated logs. Run the repository secret scan before
|
|
14
|
+
release:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
bun run secrets:scan
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
UR-AGENT can execute commands and load plugins. Treat plugins as trusted code,
|
|
21
|
+
review MCP server configuration before enabling it, and use permission modes or
|
|
22
|
+
sandboxes for risky workflows.
|
package/bin/ur.js
CHANGED
|
@@ -33,7 +33,7 @@ const packageName =
|
|
|
33
33
|
const issuesUrl =
|
|
34
34
|
typeof packageMetadata.bugs?.url === 'string'
|
|
35
35
|
? packageMetadata.bugs.url
|
|
36
|
-
: 'https://github.com/Maitham16/UR
|
|
36
|
+
: 'https://github.com/Maitham16/UR/issues'
|
|
37
37
|
|
|
38
38
|
const bun = process.env.BUN_BIN || process.env.BUN_EXECUTABLE || 'bun'
|
|
39
39
|
const ollamaModel =
|
|
@@ -72,13 +72,13 @@ function readJson(req) {
|
|
|
72
72
|
function buildAgentCard(baseUrl) {
|
|
73
73
|
return {
|
|
74
74
|
protocolVersion: '0.3.0',
|
|
75
|
-
name: 'UR
|
|
75
|
+
name: 'UR-AGENT',
|
|
76
76
|
description:
|
|
77
77
|
'Local-first terminal coding agent powered through the local Ollama app, with MCP tools, custom agents, browser workflows, memory, verifier gates, and permission controls.',
|
|
78
78
|
url: `${baseUrl}/a2a`,
|
|
79
79
|
version,
|
|
80
80
|
documentationUrl:
|
|
81
|
-
'https://github.com/Maitham16/UR
|
|
81
|
+
'https://github.com/Maitham16/UR/blob/master/docs/AGENT_TRENDS.md',
|
|
82
82
|
capabilities: {
|
|
83
83
|
streaming: true,
|
|
84
84
|
pushNotifications: false,
|
|
@@ -88,7 +88,7 @@ function buildAgentCard(baseUrl) {
|
|
|
88
88
|
defaultOutputModes: ['text/plain', 'text/markdown', 'application/json'],
|
|
89
89
|
provider: {
|
|
90
90
|
organization: 'Maitham Al-rubaye',
|
|
91
|
-
url: 'https://github.com/Maitham16/UR
|
|
91
|
+
url: 'https://github.com/Maitham16/UR',
|
|
92
92
|
},
|
|
93
93
|
skills: [
|
|
94
94
|
{
|
|
@@ -258,7 +258,7 @@ const child = spawn(bun, args, {
|
|
|
258
258
|
child.on('error', error => {
|
|
259
259
|
if (error.code === 'ENOENT') {
|
|
260
260
|
console.error(
|
|
261
|
-
'
|
|
261
|
+
'UR-AGENT requires Bun to run. Install Bun from https://bun.sh, then retry.',
|
|
262
262
|
)
|
|
263
263
|
process.exit(1)
|
|
264
264
|
}
|