ur-agent 1.24.0 → 1.24.1
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 +8 -3
- package/CONTRIBUTING.md +21 -0
- package/LICENSE +1 -1
- package/README.md +46 -11
- package/RELEASE.md +54 -0
- package/SECURITY.md +22 -0
- package/bin/ur.js +5 -5
- package/dist/cli.js +880 -1065
- 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 +3 -3
- package/docs/DEVELOPMENT.md +6 -3
- package/docs/USAGE.md +15 -0
- package/docs/VALIDATION.md +4 -4
- package/docs/plugins.md +52 -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/docs/AGENT_FEATURES.md
CHANGED
|
@@ -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`, `
|
|
72
|
-
| Autonomous engineering workflow identity | `README.md`, `documentation/`, `
|
|
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
|
|
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
|
-
- `
|
|
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 `
|
|
879
|
+
Bundled marketplace plugin families in `plugins/core/**`:
|
|
880
880
|
|
|
881
881
|
- code review
|
|
882
882
|
- evaluate response
|
package/docs/DEVELOPMENT.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
@@ -187,6 +187,21 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
187
187
|
|
|
188
188
|
Interactive sessions also check the published package version and show
|
|
189
189
|
`Update available: <current> -> <latest>` when a newer release is available.
|
|
190
|
+
Source checkouts print
|
|
191
|
+
`Development build detected. To update, pull latest source or install from npm.`
|
|
192
|
+
instead of attempting to mutate the checkout.
|
|
193
|
+
|
|
194
|
+
## Status bar
|
|
195
|
+
|
|
196
|
+
Interactive sessions include a compact bottom status bar when stdout is a real
|
|
197
|
+
terminal:
|
|
198
|
+
|
|
199
|
+
```text
|
|
200
|
+
UR-AGENT v1.24.0 | model: qwen3-coder:480b-cloud | mode: ask | branch: main | tasks: idle | Update: 1.23.3 -> 1.24.0 available
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
The bar is not rendered in non-interactive mode, CI, dumb terminals, or
|
|
204
|
+
assistant viewer mode. Custom status-line hooks override the built-in bar.
|
|
190
205
|
|
|
191
206
|
Run each command with `--help` for exact flags.
|
|
192
207
|
|
package/docs/VALIDATION.md
CHANGED
|
@@ -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
|
|
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.
|
|
21
|
+
# expected: 1.24.1 (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
|
|
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
|
|
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
|
package/docs/plugins.md
ADDED
|
@@ -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.
|
package/documentation/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# UR
|
|
1
|
+
# UR-AGENT Documentation Site
|
|
2
2
|
|
|
3
|
-
This folder is a static documentation project for UR
|
|
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.
|
package/documentation/app.js
CHANGED
|
@@ -66,7 +66,7 @@ const commands = [
|
|
|
66
66
|
name: 'ur',
|
|
67
67
|
category: 'Core',
|
|
68
68
|
aliases: [],
|
|
69
|
-
summary: 'Start an interactive UR
|
|
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
|
|
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
|
|
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">
|
package/documentation/index.html
CHANGED
|
@@ -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
|
|
7
|
-
<meta name="description" content="Professional documentation, tutorials, examples, and command reference for UR
|
|
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
|
|
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
|
|
48
|
-
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR
|
|
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
|
|
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.
|
|
4
|
-
"description": "UR — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
|
|
3
|
+
"version": "1.24.1",
|
|
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
|
|
9
|
+
"url": "git+https://github.com/Maitham16/UR.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/Maitham16/UR
|
|
12
|
+
"url": "https://github.com/Maitham16/UR/issues"
|
|
13
13
|
},
|
|
14
|
-
"homepage": "https://github.com/Maitham16/UR
|
|
15
|
-
"license": "LicenseRef-UR-
|
|
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
|
-
"
|
|
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
|
-
#
|
|
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. `
|
|
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
|
|
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
|
+
}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Reference plugin for UR's marketplace extensibility: a CI/release command, executable skill, agent template, verifier validator, and language/LSP adapter metadata.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/engineering-discipline",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["workflow", "ci", "release", "validator", "template", "language-adapter"],
|
|
13
13
|
"skills": "./skills",
|
|
14
14
|
"templates": "./templates",
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"description": "Adds /evaluate-response — adversarial self-evaluation of the most recent assistant turn.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/evaluate-response",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["quality", "self-evaluation", "verifier"]
|
|
13
13
|
}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"description": "Adds /explain-error — re-runs a failing command and diagnoses the error in plain English.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/explain-error",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["debug", "error", "troubleshooting"]
|
|
13
13
|
}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"description": "Adds /git-summary — a one-paragraph factual summary of the working tree and recent history.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/git-summary",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["git", "summary", "standup", "workflow"]
|
|
13
13
|
}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Drive GitHub from UR: review and open pull requests, triage issues, and check repo health — through GitHub's official remote MCP server or the gh CLI.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/github",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["github", "pull-request", "issues", "ci", "devops", "mcp"],
|
|
13
13
|
"mcpServers": {
|
|
14
14
|
"github": {
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Drive GitLab from UR: review and open merge requests, triage issues, and watch CI/CD pipelines — through GitLab's official MCP server or the glab CLI.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/gitlab",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["gitlab", "merge-request", "issues", "ci-cd", "pipeline", "mcp"],
|
|
13
13
|
"mcpServers": {
|
|
14
14
|
"gitlab": {
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"description": "Example plugin that adds a `/hello` slash command. Copy this directory as a starting point for your own plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["example", "template"]
|
|
13
13
|
}
|
|
@@ -18,9 +18,9 @@ commands/
|
|
|
18
18
|
To start your own plugin:
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
|
-
cp -r
|
|
22
|
-
$EDITOR
|
|
23
|
-
$EDITOR
|
|
21
|
+
cp -r plugins/core/hello plugins/core/my-plugin
|
|
22
|
+
$EDITOR plugins/core/my-plugin/.ur-plugin/plugin.json
|
|
23
|
+
$EDITOR plugins/core/my-plugin/commands/*.md
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Then add an entry to `.ur-plugin/marketplace.json`:
|
|
@@ -28,7 +28,7 @@ Then add an entry to `.ur-plugin/marketplace.json`:
|
|
|
28
28
|
```json
|
|
29
29
|
{
|
|
30
30
|
"name": "my-plugin",
|
|
31
|
-
"source": "./
|
|
31
|
+
"source": "./plugins/core/my-plugin",
|
|
32
32
|
"description": "What it does in one line."
|
|
33
33
|
}
|
|
34
34
|
```
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Work the Hugging Face Hub from UR: search and vet models and datasets, read model cards, and download weights — through the official Hugging Face MCP server or the hf CLI.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/huggingface",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["huggingface", "models", "datasets", "machine-learning", "hub", "mcp"],
|
|
13
13
|
"mcpServers": {
|
|
14
14
|
"huggingface": {
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
"description": "Create and read Miro boards from UR: spin up boards, generate diagrams, drop sticky-note clusters, and summarize a board — through Miro's official MCP server (OAuth) with a REST API fallback.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Maitham Al-rubaye",
|
|
7
|
-
"url": "https://github.com/Maitham16/
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/Maitham16/
|
|
10
|
-
"repository": "https://github.com/Maitham16/
|
|
11
|
-
"license": "LicenseRef-UR-
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/miro",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
12
|
"keywords": ["miro", "whiteboard", "diagram", "board", "brainstorm", "mcp"],
|
|
13
13
|
"mcpServers": {
|
|
14
14
|
"miro": {
|