ur-agent 1.23.3 → 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 +25 -2
- package/CONTRIBUTING.md +21 -0
- package/LICENSE +1 -1
- package/QUALITY.md +5 -2
- package/README.md +83 -16
- package/RELEASE.md +54 -0
- package/SECURITY.md +22 -0
- package/bin/ur.js +5 -5
- package/dist/cli.js +5423 -4655
- package/docs/AGENT_FEATURES.md +8 -0
- 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 +9 -3
- package/docs/DEVELOPMENT.md +8 -4
- package/docs/USAGE.md +18 -1
- package/docs/VALIDATION.md +4 -4
- package/docs/plugins.md +52 -0
- package/documentation/README.md +2 -2
- package/documentation/app.js +5 -5
- package/documentation/assets/ur-architecture.svg +1 -1
- package/documentation/index.html +15 -11
- package/package.json +11 -6
- package/plugins/bunBundleDev.ts +32 -0
- package/plugins/community/.gitkeep +1 -0
- package/plugins/core/README.md +69 -0
- package/plugins/core/code-review/.ur-plugin/plugin.json +13 -0
- package/plugins/core/code-review/README.md +37 -0
- package/plugins/core/code-review/commands/code-review.md +47 -0
- package/plugins/core/engineering-discipline/.ur-plugin/plugin.json +33 -0
- package/plugins/core/engineering-discipline/README.md +21 -0
- package/plugins/core/engineering-discipline/commands/discipline-check.md +25 -0
- package/plugins/core/engineering-discipline/skills/reproducible-release/SKILL.md +31 -0
- package/plugins/core/engineering-discipline/templates/release-verifier.md +18 -0
- package/plugins/core/engineering-discipline/validators/release-gate.json +7 -0
- package/plugins/core/evaluate-response/.ur-plugin/plugin.json +13 -0
- package/plugins/core/evaluate-response/README.md +42 -0
- package/plugins/core/evaluate-response/commands/evaluate-response.md +61 -0
- package/plugins/core/explain-error/.ur-plugin/plugin.json +13 -0
- package/plugins/core/explain-error/README.md +32 -0
- package/plugins/core/explain-error/commands/explain-error.md +37 -0
- package/plugins/core/git-summary/.ur-plugin/plugin.json +13 -0
- package/plugins/core/git-summary/README.md +29 -0
- package/plugins/core/git-summary/commands/git-summary.md +27 -0
- package/plugins/core/github/.ur-plugin/plugin.json +31 -0
- package/plugins/core/github/README.md +37 -0
- package/plugins/core/github/commands/gh-issues.md +19 -0
- package/plugins/core/github/commands/gh-pr-create.md +19 -0
- package/plugins/core/github/commands/gh-pr-review.md +37 -0
- package/plugins/core/github/commands/gh-repo-health.md +23 -0
- package/plugins/core/github/skills/github-workflow/SKILL.md +53 -0
- package/plugins/core/gitlab/.ur-plugin/plugin.json +39 -0
- package/plugins/core/gitlab/README.md +39 -0
- package/plugins/core/gitlab/commands/gl-issues.md +19 -0
- package/plugins/core/gitlab/commands/gl-mr-create.md +19 -0
- package/plugins/core/gitlab/commands/gl-mr-review.md +36 -0
- package/plugins/core/gitlab/commands/gl-pipeline.md +21 -0
- package/plugins/core/gitlab/skills/gitlab-workflow/SKILL.md +63 -0
- package/plugins/core/hello/.ur-plugin/plugin.json +13 -0
- package/plugins/core/hello/README.md +45 -0
- package/plugins/core/hello/commands/hello.md +16 -0
- package/plugins/core/huggingface/.ur-plugin/plugin.json +36 -0
- package/plugins/core/huggingface/README.md +36 -0
- package/plugins/core/huggingface/commands/hf-dataset-search.md +19 -0
- package/plugins/core/huggingface/commands/hf-download.md +23 -0
- package/plugins/core/huggingface/commands/hf-model-card.md +23 -0
- package/plugins/core/huggingface/commands/hf-model-search.md +20 -0
- package/plugins/core/huggingface/skills/huggingface-workflow/SKILL.md +70 -0
- package/plugins/core/miro/.ur-plugin/plugin.json +27 -0
- package/plugins/core/miro/README.md +39 -0
- package/plugins/core/miro/commands/miro-board.md +17 -0
- package/plugins/core/miro/commands/miro-diagram.md +20 -0
- package/plugins/core/miro/commands/miro-export.md +18 -0
- package/plugins/core/miro/commands/miro-stickies.md +19 -0
- package/plugins/core/miro/skills/miro-workflow/SKILL.md +54 -0
- package/plugins/core/obsidian/.ur-plugin/plugin.json +42 -0
- package/plugins/core/obsidian/README.md +42 -0
- package/plugins/core/obsidian/commands/backlinks.md +22 -0
- package/plugins/core/obsidian/commands/daily-note.md +29 -0
- package/plugins/core/obsidian/commands/moc.md +24 -0
- package/plugins/core/obsidian/commands/second-brain.md +37 -0
- package/plugins/core/obsidian/commands/vault-search.md +20 -0
- package/plugins/core/obsidian/skills/second-brain/SKILL.md +86 -0
- package/plugins/core/powerpoint/.ur-plugin/plugin.json +26 -0
- package/plugins/core/powerpoint/README.md +35 -0
- package/plugins/core/powerpoint/commands/pptx-from-md.md +18 -0
- package/plugins/core/powerpoint/commands/pptx-new.md +21 -0
- package/plugins/core/powerpoint/commands/pptx-review.md +32 -0
- package/plugins/core/powerpoint/commands/pptx-theme.md +18 -0
- package/plugins/core/powerpoint/skills/deck-craft/SKILL.md +60 -0
- package/plugins/core/release-notes/.ur-plugin/plugin.json +13 -0
- package/plugins/core/release-notes/README.md +28 -0
- package/plugins/core/release-notes/commands/release-notes.md +56 -0
- package/plugins/core/skill-forge/.ur-plugin/plugin.json +13 -0
- package/plugins/core/skill-forge/README.md +37 -0
- package/plugins/core/skill-forge/commands/forge-skill.md +47 -0
- package/plugins/core/skill-forge/commands/skill-refine.md +19 -0
- package/plugins/core/skill-forge/skills/skill-authoring/SKILL.md +84 -0
- package/plugins/core/word/.ur-plugin/plugin.json +26 -0
- package/plugins/core/word/README.md +37 -0
- package/plugins/core/word/commands/docx-edit.md +18 -0
- package/plugins/core/word/commands/docx-from-md.md +19 -0
- package/plugins/core/word/commands/docx-new.md +22 -0
- package/plugins/core/word/commands/docx-review.md +29 -0
- package/plugins/core/word/skills/document-craft/SKILL.md +61 -0
- 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/docs/AGENT_FEATURES.md
CHANGED
|
@@ -64,6 +64,14 @@ ur spec run auth-refactor --all
|
|
|
64
64
|
ur spec verify auth-refactor
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
## v1.24.0 Additions
|
|
68
|
+
|
|
69
|
+
| Addition | Surface | What it adds |
|
|
70
|
+
| --- | --- | --- |
|
|
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
|
+
| 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
|
+
|
|
67
75
|
## v1.22.3 Additions
|
|
68
76
|
|
|
69
77
|
| Addition | Surface | What it adds |
|
|
@@ -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
|
|
|
@@ -853,10 +853,14 @@ Plugin loading supports:
|
|
|
853
853
|
- plugin commands
|
|
854
854
|
- plugin agents
|
|
855
855
|
- plugin skills
|
|
856
|
+
- plugin templates
|
|
857
|
+
- plugin validators
|
|
856
858
|
- plugin hooks
|
|
857
859
|
- output styles
|
|
858
860
|
- MCP servers
|
|
859
861
|
- LSP servers
|
|
862
|
+
- language adapters
|
|
863
|
+
- marketplace capability metadata
|
|
860
864
|
- plugin settings
|
|
861
865
|
- duplicate-name handling
|
|
862
866
|
- enable/disable state
|
|
@@ -872,7 +876,7 @@ Plugin loading supports:
|
|
|
872
876
|
- strict known-marketplace policy
|
|
873
877
|
- managed plugin settings
|
|
874
878
|
|
|
875
|
-
Bundled marketplace plugin families in `
|
|
879
|
+
Bundled marketplace plugin families in `plugins/core/**`:
|
|
876
880
|
|
|
877
881
|
- code review
|
|
878
882
|
- evaluate response
|
|
@@ -890,6 +894,8 @@ Bundled marketplace plugin families in `marketplace-plugins/**`:
|
|
|
890
894
|
- PowerPoint deck creation, markdown-to-deck, review, theme, and deck-craft
|
|
891
895
|
skill
|
|
892
896
|
- release notes
|
|
897
|
+
- reproducible release discipline, release-gate validator, release verifier
|
|
898
|
+
template, and Markdown language-adapter metadata
|
|
893
899
|
- skill forge and skill authoring
|
|
894
900
|
- Word document creation, markdown-to-docx, edit, review, and document-craft
|
|
895
901
|
skill
|
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,13 @@ 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
|
|
43
|
+
bun run package:check
|
|
41
44
|
npm pack --dry-run
|
|
45
|
+
npm publish --dry-run
|
|
42
46
|
```
|
|
43
47
|
|
|
44
48
|
Use `ur test-first detect` when adding a feature to inspect the repository's
|
|
@@ -50,7 +54,7 @@ shell commands. Use `ur context-pack scan` when a change adds new manifests,
|
|
|
50
54
|
command surfaces, or architecture rules that should be captured as project
|
|
51
55
|
context.
|
|
52
56
|
|
|
53
|
-
The GitHub install path uses the bundled launcher in `dist/cli.js`, so `bun run bundle` must be run before packaging or pushing a release. `bun run release:check` verifies that `package.json`, `bunfig.toml`, the bundle, docs, and `node ./bin/ur.js --version` agree.
|
|
57
|
+
The GitHub install path uses the bundled launcher in `dist/cli.js`, so `bun run bundle` must be run before packaging or pushing a release. `bun run release:check` verifies that `package.json`, `bunfig.toml`, the bundle, docs, and `node ./bin/ur.js --version` agree. The GitHub workflow keeps production bundle, release, package, and global-install checks behind the Bun test step; do not publish, tag, or push release artifacts until that workflow is green.
|
|
54
58
|
|
|
55
59
|
## Build
|
|
56
60
|
|
|
@@ -70,7 +74,7 @@ only the root README. Check:
|
|
|
70
74
|
- `docs/`
|
|
71
75
|
- `documentation/`
|
|
72
76
|
- `examples/`
|
|
73
|
-
- extension and
|
|
77
|
+
- extension and plugin README files when the feature affects them
|
|
74
78
|
|
|
75
79
|
For top-level commands, also update the static documentation site command data
|
|
76
80
|
in `documentation/app.js` and any relevant tutorial section in
|
|
@@ -93,7 +97,7 @@ ur --version
|
|
|
93
97
|
This package is configured for install without cloning:
|
|
94
98
|
|
|
95
99
|
```sh
|
|
96
|
-
bun add -g github:Maitham16/UR
|
|
100
|
+
bun add -g github:Maitham16/UR
|
|
97
101
|
```
|
|
98
102
|
|
|
99
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
|
@@ -153,7 +153,9 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
153
153
|
|
|
154
154
|
- `/help` or `ur --help` for command discovery
|
|
155
155
|
- `ur mcp ...` to configure MCP servers
|
|
156
|
-
- `ur plugin ...` to manage plugins and marketplaces
|
|
156
|
+
- `ur plugin ...` to manage plugins and marketplaces. Marketplace plugins can
|
|
157
|
+
add MCP tools, commands, executable skills, templates, validators, language
|
|
158
|
+
adapters, LSP servers, agents, hooks, and output styles.
|
|
157
159
|
- `ur agents` to list configured agents
|
|
158
160
|
- `ur agent-trends` to inspect coverage for current agent technology trends
|
|
159
161
|
- `ur a2a card` to print UR's Agent Card metadata for A2A discovery
|
|
@@ -185,6 +187,21 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
185
187
|
|
|
186
188
|
Interactive sessions also check the published package version and show
|
|
187
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.
|
|
188
205
|
|
|
189
206
|
Run each command with `--help` for exact flags.
|
|
190
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
|
@@ -50,7 +50,7 @@ const featureGroups = [
|
|
|
50
50
|
{
|
|
51
51
|
title: 'Interoperability',
|
|
52
52
|
tags: ['MCP', 'plugins', 'A2A', 'SDK'],
|
|
53
|
-
text: 'MCP servers, plugin marketplaces, A2A Agent Card and task server, delegation tokens, and a TypeScript SDK wrapper around headless UR.',
|
|
53
|
+
text: 'MCP servers, plugin marketplaces for skills, templates, validators, language adapters, A2A Agent Card and task server, delegation tokens, and a TypeScript SDK wrapper around headless UR.',
|
|
54
54
|
commands: ['ur mcp', 'ur plugin', 'ur a2a', 'ur sdk'],
|
|
55
55
|
},
|
|
56
56
|
{
|
|
@@ -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
|
{
|
|
@@ -297,8 +297,8 @@ const commands = [
|
|
|
297
297
|
name: 'plugin',
|
|
298
298
|
category: 'Interop',
|
|
299
299
|
aliases: ['plugins'],
|
|
300
|
-
summary: 'Manage UR plugins and
|
|
301
|
-
examples: ['ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin update <plugin>', 'ur plugin disable <plugin>'],
|
|
300
|
+
summary: 'Manage UR plugins and marketplaces for MCP tools, skills, templates, validators, and language adapters.',
|
|
301
|
+
examples: ['ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin install engineering-discipline@ur-plugins-official', 'ur plugin update <plugin>', 'ur plugin disable <plugin>'],
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
name: 'repo-edit',
|
|
@@ -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>
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
<main id="content" class="content">
|
|
44
44
|
<header class="topbar">
|
|
45
45
|
<div>
|
|
46
|
-
<p class="eyebrow">Version 1.
|
|
47
|
-
<h1>UR
|
|
48
|
-
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR
|
|
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>
|
|
49
49
|
</div>
|
|
50
50
|
<div class="topbar-actions">
|
|
51
51
|
<a class="button" href="#quickstart">Start</a>
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
<section id="overview" class="section">
|
|
57
57
|
<div class="section-heading">
|
|
58
58
|
<p class="eyebrow">What UR Is</p>
|
|
59
|
-
<h2>
|
|
60
|
-
<p>UR
|
|
59
|
+
<h2>Autonomous engineering workflow engine</h2>
|
|
60
|
+
<p>UR is not only chat, autocomplete, or code edits. It turns work into a plan, executes patches, tests and verifies them, documents the result, benchmarks behavior, and keeps the run reproducible from the terminal.</p>
|
|
61
61
|
</div>
|
|
62
62
|
<div class="stat-grid">
|
|
63
63
|
<article>
|
|
@@ -72,6 +72,10 @@
|
|
|
72
72
|
<strong>Agent platform</strong>
|
|
73
73
|
<span>Workflows, patterns, crews, goals, evals, memory, knowledge, A2A, provenance, and templates are first-class commands.</span>
|
|
74
74
|
</article>
|
|
75
|
+
<article>
|
|
76
|
+
<strong>Plugin marketplace</strong>
|
|
77
|
+
<span>Plugins can add MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, and output styles.</span>
|
|
78
|
+
</article>
|
|
75
79
|
<article>
|
|
76
80
|
<strong>Reliable repo editing</strong>
|
|
77
81
|
<span><code>ur repo-edit</code> indexes files and symbols, plans AST-aware renames, previews patches, and rolls back failed multi-file applies.</span>
|
|
@@ -86,7 +90,7 @@
|
|
|
86
90
|
</article>
|
|
87
91
|
<article>
|
|
88
92
|
<strong>Release checks</strong>
|
|
89
|
-
<span>Typecheck, tests, bundle verification, smoke, package checks,
|
|
93
|
+
<span>Typecheck, tests, bundle verification, smoke, package checks, secret scan, and dry-run publish are part of the release path.</span>
|
|
90
94
|
</article>
|
|
91
95
|
</div>
|
|
92
96
|
</section>
|
|
@@ -130,7 +134,7 @@ ur -p --output-format json "Review the current diff"</code></pre>
|
|
|
130
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>
|
|
131
135
|
</div>
|
|
132
136
|
<figure class="diagram">
|
|
133
|
-
<img src="assets/ur-architecture.svg" alt="UR
|
|
137
|
+
<img src="assets/ur-architecture.svg" alt="UR-AGENT runtime architecture diagram">
|
|
134
138
|
</figure>
|
|
135
139
|
</section>
|
|
136
140
|
|
|
@@ -442,7 +446,7 @@ UR_VERIFIER_AUTO_SUBAGENT=1</code></pre>
|
|
|
442
446
|
ur mcp add-json local-tools '{"command":"node","args":["server.js"]}'
|
|
443
447
|
ur plugin list
|
|
444
448
|
ur plugin install <plugin></code></pre>
|
|
445
|
-
<p>MCP servers and plugins expand
|
|
449
|
+
<p>MCP servers and marketplace plugins expand tools, executable skills, templates, validators, language adapters, and review workflows. Treat them as trusted code.</p>
|
|
446
450
|
</article>
|
|
447
451
|
</div>
|
|
448
452
|
</section>
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ur-agent",
|
|
3
|
-
"version": "1.
|
|
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,15 +30,20 @@
|
|
|
30
30
|
"documentation",
|
|
31
31
|
"extensions",
|
|
32
32
|
"examples",
|
|
33
|
+
"plugins",
|
|
33
34
|
"CHANGELOG.md",
|
|
35
|
+
"CONTRIBUTING.md",
|
|
34
36
|
"QUALITY.md",
|
|
35
37
|
"README.md",
|
|
38
|
+
"RELEASE.md",
|
|
39
|
+
"SECURITY.md",
|
|
36
40
|
"LICENSE"
|
|
37
41
|
],
|
|
38
42
|
"scripts": {
|
|
39
43
|
"start": "node ./bin/ur.js",
|
|
40
44
|
"dev": "bun --watch run src/entrypoints/cli.tsx",
|
|
41
45
|
"bundle": "node scripts/bundle.mjs",
|
|
46
|
+
"build": "node scripts/bundle.mjs",
|
|
42
47
|
"release:check": "node scripts/release-check.mjs",
|
|
43
48
|
"typecheck": "bun run tsc --noEmit",
|
|
44
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
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# plugins/core/
|
|
2
|
+
|
|
3
|
+
First-party plugins for the **ur-plugins-official** marketplace.
|
|
4
|
+
|
|
5
|
+
Each subdirectory here is a self-contained plugin. The marketplace
|
|
6
|
+
manifest at `.ur-plugin/marketplace.json` (at the repo root) lists which of
|
|
7
|
+
them are published.
|
|
8
|
+
|
|
9
|
+
## Shipped plugins
|
|
10
|
+
|
|
11
|
+
| Plugin | Slash command | What it does |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| [`hello`](./hello) | `/hello [name]` | Example greeting. Use as a template. |
|
|
14
|
+
| [`git-summary`](./git-summary) | `/git-summary` | One-paragraph factual summary of the working tree and recent commits. |
|
|
15
|
+
| [`code-review`](./code-review) | `/code-review [base-ref]` | Structured review of the working diff. Correctness, style, test coverage, security, TL;DR verdict. |
|
|
16
|
+
| [`explain-error`](./explain-error) | `/explain-error [command]` | Re-runs a failing command and decodes the error in plain English with two next steps. |
|
|
17
|
+
| [`release-notes`](./release-notes) | `/release-notes [since-ref]` | Drafts release notes grouped by Features / Fixes / Documentation / Other since the last tag. |
|
|
18
|
+
| [`evaluate-response`](./evaluate-response) | `/evaluate-response` | Adversarial self-evaluation of the most recent assistant turn. |
|
|
19
|
+
| [`obsidian`](./obsidian) | `/second-brain` (+4) | Operate an Obsidian vault as a second brain — atomic notes, daily notes, MOCs, backlinks, cited search. Direct file edits or the Local REST API MCP server. |
|
|
20
|
+
| [`github`](./github) | `/gh-pr-review` (+3) | Review and open pull requests, triage issues, check repo health — via the official GitHub MCP server or the `gh` CLI. |
|
|
21
|
+
| [`gitlab`](./gitlab) | `/gl-mr-review` (+3) | Review and open merge requests, triage issues, watch CI/CD pipelines — via the official GitLab MCP server or the `glab` CLI. |
|
|
22
|
+
| [`huggingface`](./huggingface) | `/hf-model-search` (+3) | Search, vet, and download Hub models and datasets — via the official Hugging Face MCP server or the `hf` CLI. |
|
|
23
|
+
| [`word`](./word) | `/docx-new` (+3) | Create, convert, review, and edit Word documents — via the Office Word MCP server or a pandoc / python-docx fallback. |
|
|
24
|
+
| [`powerpoint`](./powerpoint) | `/pptx-new` (+3) | Build, convert, review, and theme PowerPoint decks — via the Office PowerPoint MCP server or a python-pptx fallback. |
|
|
25
|
+
| [`miro`](./miro) | `/miro-board` (+3) | Create boards, diagrams, and sticky clusters and summarize boards — via Miro's official MCP server or the REST API. |
|
|
26
|
+
| [`skill-forge`](./skill-forge) | `/forge-skill` (+1) | The active model authors a complete `SKILL.md` from your description and saves it to your skills directory. |
|
|
27
|
+
| [`engineering-discipline`](./engineering-discipline) | `/discipline-check` | Reference plugin that ships a command, executable skill, agent template, validator, and Markdown language adapter metadata. |
|
|
28
|
+
|
|
29
|
+
Seven of these are **integration plugins**: each bundles an official MCP server,
|
|
30
|
+
several slash commands, and a methodology skill, and prompts for its config
|
|
31
|
+
(tokens, vault path, output folders) on enable. The Office plugins run their MCP
|
|
32
|
+
server through `uvx` (install `uv`) and fall back to local Python libraries.
|
|
33
|
+
Secrets are stored in secure storage, never in plaintext settings.
|
|
34
|
+
|
|
35
|
+
[`skill-forge`](./skill-forge) is a **meta plugin** (no MCP): its commands run as
|
|
36
|
+
prompts, so the active session model authors and saves the skill for you.
|
|
37
|
+
|
|
38
|
+
[`engineering-discipline`](./engineering-discipline) is a **marketplace
|
|
39
|
+
capability reference plugin**. It demonstrates every standard extension surface
|
|
40
|
+
UR accepts from marketplace plugins: commands, executable skills, reusable agent
|
|
41
|
+
templates, deterministic validators, language adapters, and LSP server metadata.
|
|
42
|
+
|
|
43
|
+
## Adding a new plugin
|
|
44
|
+
|
|
45
|
+
1. Copy `hello/` to a new directory, e.g. `plugins/core/my-plugin/`.
|
|
46
|
+
2. Edit `my-plugin/.ur-plugin/plugin.json` with the plugin's real metadata.
|
|
47
|
+
3. Replace the example command in `my-plugin/commands/` with your own.
|
|
48
|
+
4. Add optional extension folders as needed:
|
|
49
|
+
- `skills/<name>/SKILL.md`
|
|
50
|
+
- `templates/<name>.md`
|
|
51
|
+
- `validators/<name>.json`
|
|
52
|
+
- `mcpServers` or `lspServers` in `.ur-plugin/plugin.json`
|
|
53
|
+
- `languageAdapters` in `.ur-plugin/plugin.json`
|
|
54
|
+
5. Add an entry to `.ur-plugin/marketplace.json` (sibling to existing
|
|
55
|
+
entries).
|
|
56
|
+
6. Set the entry's `capabilities` array so users can see whether it adds MCP
|
|
57
|
+
tools, skills, templates, validators, language adapters, LSP servers,
|
|
58
|
+
commands, agents, or hooks before installation.
|
|
59
|
+
7. Open a PR against `Maitham16/UR`.
|
|
60
|
+
|
|
61
|
+
See [`hello/README.md`](./hello/README.md) for the smallest possible example.
|
|
62
|
+
|
|
63
|
+
## Schemas
|
|
64
|
+
|
|
65
|
+
The shapes for `marketplace.json` and `plugin.json` are defined in the
|
|
66
|
+
agent source — see `src/utils/plugins/schemas.ts` (`PluginMarketplaceSchema`
|
|
67
|
+
and `PluginManifestSchema`). The schemas are strict-by-default but
|
|
68
|
+
unknown fields on marketplace entries are silently stripped so future
|
|
69
|
+
versions stay forward-compatible.
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# code-review
|
|
2
|
+
|
|
3
|
+
Adds `/code-review` — a structured review of the working diff against a
|
|
4
|
+
base ref.
|
|
5
|
+
|
|
6
|
+
## Use
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
/code-review
|
|
10
|
+
/code-review main
|
|
11
|
+
/code-review v1.2.0
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
If no base ref is given, the plugin tries `main`, then `master`, then
|
|
15
|
+
`HEAD~5`.
|
|
16
|
+
|
|
17
|
+
## What it does
|
|
18
|
+
|
|
19
|
+
Runs `git diff <base>...HEAD`, then asks the model for a markdown report
|
|
20
|
+
with four sections (Correctness, Style, Test coverage, Security) and a
|
|
21
|
+
mandatory one-line TL;DR (`Looks good` / `Has nits` / `Has blockers`).
|
|
22
|
+
|
|
23
|
+
Sections with no findings are omitted, not padded.
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
/plugin install code-review@ur-plugins-official
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Pair with the verifier
|
|
32
|
+
|
|
33
|
+
`/code-review` is a *static* read of the diff. The verifier subagent
|
|
34
|
+
(`/verify` or auto on every "done") is a *dynamic* check — it actually
|
|
35
|
+
runs builds, tests, and lints. They're complementary: code-review catches
|
|
36
|
+
things the verifier can't (style, subtle logic), and the verifier catches
|
|
37
|
+
things code-review can't (does it actually compile and pass tests).
|