ur-agent 1.22.2 → 1.22.4

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 CHANGED
@@ -1,5 +1,74 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.22.3
4
+
5
+ ### Added
6
+ - **Executable skill directories.** A `.ur/skills/<name>/` directory containing
7
+ `skill.yaml` is now an executable skill that compiles into a `WorkflowSpec`.
8
+ Supports `instructions.md`, `scripts/`, `templates/`, and `checklists/`.
9
+ `src/skills/skillSpec.ts` parses, validates, and compiles skills; step prompts
10
+ support `$ARGUMENTS`, `$0..$N`, and `$ARGUMENTS[N]` substitution.
11
+ - **`ur skill` CLI.** New command surface: `ur skill list`, `ur skill show <name>`,
12
+ `ur skill run <name> [args]`, and `ur skill init <name>`. Registered in
13
+ `src/commands.ts` and `src/main.tsx`.
14
+ - **Semantic repo index.** `src/utils/codeIndex/repoIndex.ts` builds offline,
15
+ dependency-free indexes under `.ur/code-index/`: `repo.json` (file
16
+ classification + imports/importedBy), `symbols.json`, `calls.json`,
17
+ `tests.json`, `docs.json`, and `configs.json`. `ur code-index repo` exposes
18
+ `build|status|search|symbols|callers|tests|docs|configs` subcommands.
19
+ - **`--repo` flag for code-index build/watch.** `ur code-index build --repo`
20
+ builds both the embedding index and the repo index; `watch --repo` refreshes
21
+ the repo index on file changes.
22
+
23
+ ### Changed
24
+ - Reused the existing workflow engine for executable skills and extended the
25
+ existing `ur code-index` surface for the repo index, keeping changes additive.
26
+
27
+ ### Verified
28
+ - Added `test/skillSpec.test.ts`, `test/skillCommand.test.ts`, and
29
+ `test/repoIndex.test.ts` covering skill parsing, compilation, CLI scaffolding,
30
+ repo file classification, symbol/call/test/doc/config extraction, and index
31
+ round-trips.
32
+
33
+ ## 1.22.4
34
+
35
+ ### Added
36
+ - **AST-aware `ur repo-edit` (P7).** Added
37
+ `src/services/repoEditing/ast/types.ts`,
38
+ `src/services/repoEditing/ast/workspaceEdit.ts`,
39
+ `src/services/repoEditing/ast/diagnostics.ts`,
40
+ `src/services/repoEditing/ast/typescriptEngine.ts`,
41
+ `src/services/repoEditing/ast/lspEditEngine.ts`,
42
+ `src/services/repoEditing/ast/engineRouter.ts`,
43
+ `src/services/repoEditing/ast/treeSitterEngine.ts`, and
44
+ `src/services/repoEditing/ast/repoEditAst.ts`.
45
+ - **`rename`.** Binding-aware rename for TS/JS via `ts.createProgram` + type
46
+ checker; LSP rename via `textDocument/prepareRename` + `textDocument/rename`
47
+ for Python/Rust/Go and TS/JS opt-in; Tree-sitter best-effort identifier fallback.
48
+ - **`move`.** Move a TS function/class to another file with source removal and
49
+ target insertion.
50
+ - **`organize-imports`.** Sort import blocks alphabetically for TS/JS files.
51
+ - **`unused`.** List unused local variables via TypeScript reference analysis.
52
+ - **`callers`.** Map direct callers of a TS function.
53
+ - **Diagnostics before/after edits with rollback.** Each apply path collects a
54
+ `DiagnosticSnapshot`, applies edits, then re-collects. New errors or a failing
55
+ `--check` command roll back all changed files.
56
+ - **LSP editing support.** `LSPServerInstance.ts` advertises `textDocument.rename`
57
+ and `workspace.applyEdit`; `LSPServerManager.ts` handles reverse
58
+ `workspace/applyEdit` requests.
59
+
60
+ ### Changed
61
+ - `src/commands/repo-edit/repo-edit.ts` dispatches the new `rename`, `move`,
62
+ `organize-imports`, `unused`, and `callers` subcommands while keeping legacy
63
+ `plan/preview/apply rename` paths working.
64
+
65
+ ### Verified
66
+ - Added `test/repoEditAst.test.ts`, `test/typescriptEngine.test.ts`,
67
+ `test/repoEditMove.test.ts`, `test/repoEditImports.test.ts`, and
68
+ `test/repoEditReadOps.test.ts` covering binding-aware rename, cross-file
69
+ import updates, rollback on check failure, move, organize imports, unused
70
+ detection, and caller mapping.
71
+
3
72
  ## 1.22.2
4
73
 
5
74
  ### Added
package/QUALITY.md CHANGED
@@ -10,6 +10,7 @@ Run these commands before tagging or pushing a release:
10
10
 
11
11
  ```sh
12
12
  bun run typecheck
13
+ bun run lint
13
14
  bun test
14
15
  bun run bundle
15
16
  bun run smoke
package/README.md CHANGED
@@ -10,9 +10,10 @@
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 Agent is a Bun and TypeScript command-line coding agent. It opens a stateful
14
- interactive terminal session by default, can run one-shot prompts for scripts,
15
- and includes workflow commands for specification-driven development,
13
+ UR Agent is a Bun and TypeScript command-line coding agent: a reproducible
14
+ autonomous software engineering agent. It opens a stateful interactive terminal
15
+ session by default, can run one-shot prompts for scripts, and includes workflow
16
+ commands for specification-driven development,
16
17
  multi-agent execution, test-first quality loops, CI repair loops, background
17
18
  agents, MCP servers, plugins, skills, memory, permission safety policy,
18
19
  project context packing, verification, and local model routing.
@@ -27,6 +28,9 @@ UR is built around the work that happens after a prompt: reading a repository,
27
28
  editing files, running commands, validating the result, preserving context, and
28
29
  handing work off to other tools or agents when needed.
29
30
 
31
+ - **Reproducible engineering loop.** Substantial tasks should move through
32
+ `spec -> plan -> patch -> test -> report -> rollback`, with command evidence
33
+ captured before success is claimed.
30
34
  - **Terminal-native agent loop.** Run `ur` for an interactive coding session or
31
35
  `ur -p` for automation-friendly output.
32
36
  - **Local model runtime.** Use any model exposed by Ollama, set a specific host
@@ -130,7 +134,7 @@ as first-class subcommands in the shipped CLI.
130
134
  | --- | --- |
131
135
  | `ur` | Start an interactive terminal agent session in the current workspace. |
132
136
  | `ur -p` | Run a non-interactive prompt with text, JSON, or stream-JSON output. |
133
- | `ur spec` | Create requirements, design, and task documents under `.ur/specs/`, run the task list, and verify with strict proof gates. |
137
+ | `ur spec` | Default spec-first workflow: create requirements, design, and task documents under `.ur/specs/`, run the task list, and verify with strict proof gates. |
134
138
  | `ur escalate` | Plan or run work with fast and oracle model tiers selected from local model capabilities. |
135
139
  | `ur arena` | Run multiple agents on the same task in isolated worktrees and surface the winning diff. |
136
140
  | `ur ci-loop` | Run a build or test command, hand failures to a fix agent, and retry with a bounded budget. |
@@ -146,7 +150,7 @@ as first-class subcommands in the shipped CLI.
146
150
  | `ur pattern` | Run multi-agent collaboration patterns (PEER, DOE, concurrent, handoff, debate, parallel); `--execute` runs them as a workflow. |
147
151
  | `ur goal` | Track long-horizon objectives that persist across sessions. |
148
152
  | `ur repo-edit` | Build a repo edit index, plan AST-aware renames, preview patches, and apply with rollback. |
149
- | `ur code-index` | Build, query, or watch a local semantic code index using Ollama embeddings. |
153
+ | `ur code-index` | Build, query, or watch a local semantic code index using Ollama embeddings; `ur code-index repo` adds files/symbols/calls/tests/docs/configs. |
150
154
  | `ur semantic-memory` | Build and search a project-local memory index. |
151
155
  | `ur knowledge` | Manage a curated project knowledge base with provenance. |
152
156
  | `ur artifacts` | Capture diffs, test runs, notes, and review feedback under `.ur/artifacts/`. |
@@ -174,6 +178,14 @@ Install matching agent templates with `ur agent-templates install`.
174
178
 
175
179
  New built-in tools (exposed through MCP and the ACP server): GitHub, API, Browser, Docker, TestRunner, Database. File-system and terminal tools are already built in (FileRead, FileEdit, FileWrite, Glob, Grep, Bash, PowerShell).
176
180
 
181
+ UR also documents the core Cursor-style agent primitives as first-class,
182
+ project-backed features: Agent surfaces (`ur`, `ur agents`, `ur crew`, `ur bg`),
183
+ Rules (`AGENTS.md`, `UR.md`, `.cursor/rules/*.mdc`, `.cursorrules`, safety and
184
+ guardrail config), MCP (`ur mcp`, `.mcp.json`, plugin MCP servers), Skills
185
+ (`/skills`, bundled, project, user, and plugin skills), CLI (`ur --help`, `ur -p`,
186
+ `ur exec`, `ur acp`), and Models (`ur model`, `ur model-doctor`, Ollama routing
187
+ and discovery).
188
+
177
189
  Examples:
178
190
 
179
191
  ```sh
@@ -205,6 +217,10 @@ ur automation create nightly --schedule "0 9 * * 1-5" --prompt "Review open task
205
217
  ur repo-edit preview rename oldName --to newName
206
218
  ur repo-edit apply rename oldName --to newName --check "bun test"
207
219
  ur code-index search "where is the rate limiter configured"
220
+ ur code-index repo build
221
+ ur code-index repo search "rate limiter"
222
+ ur skill init security-review
223
+ ur skill run security-review "src/auth.ts"
208
224
  ur artifacts capture-tests --command "bun test"
209
225
  ur agent-task pr --create --dry-run
210
226
  ur acp serve --port 8123
@@ -306,6 +322,7 @@ Build and verify a release:
306
322
 
307
323
  ```sh
308
324
  bun run typecheck
325
+ bun run lint
309
326
  bun test
310
327
  bun run bundle
311
328
  bun run smoke