@technomoron/agent-run 0.99.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/CHANGES +23 -0
- package/LICENSE +21 -0
- package/README.md +178 -0
- package/dist/agent-run.js +1169 -0
- package/package.json +44 -0
package/CHANGES
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
CHANGES
|
|
2
|
+
=======
|
|
3
|
+
|
|
4
|
+
Unreleased (2026-04-08)
|
|
5
|
+
-----------------------
|
|
6
|
+
|
|
7
|
+
Version 0.99.1 (2026-04-08)
|
|
8
|
+
---------------------------
|
|
9
|
+
* Expand `{{AGENT_DIR}}`, `{{AGENTS_PATH}}`, and related placeholders from `AGENTS-MODS.md` when generating `AGENTS.md`.
|
|
10
|
+
* Make `pnpm release` create and push the release tag so GitHub Actions owns npm publishing.
|
|
11
|
+
|
|
12
|
+
Version 0.99.0 (2026-03-19)
|
|
13
|
+
---------------------------
|
|
14
|
+
* Normalize package metadata and license copyright text to `Technomoron.com`.
|
|
15
|
+
|
|
16
|
+
Version 0.99.0 (2026-03-19)
|
|
17
|
+
---------------------------
|
|
18
|
+
* Replace the shell wrapper with the Node and TypeScript-based `agent-run` utility.
|
|
19
|
+
* Add `check` and `init` commands, source-root support, and external agent-config mapping.
|
|
20
|
+
* Add `.agent-run-ignore` and `.agent-run.env` support for explicit ignore and profile overrides.
|
|
21
|
+
* Add a full README describing the tool, workflow, and mapping model.
|
|
22
|
+
* Add `edit` support for opening mapped `AGENTS-MODS.md`, including VS Code terminal handling and editor fallbacks.
|
|
23
|
+
* Move bundled project agent configs out of this repo into the external `agent-configs` tree.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Bjørn Erik Jacobsen / Technomoron.com
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# agent-run
|
|
2
|
+
|
|
3
|
+
Small wrapper for AI coding CLIs like Codex and Claude.
|
|
4
|
+
|
|
5
|
+
It keeps agent files out of normal repos and stores them in a separate
|
|
6
|
+
`agent-configs` tree. That tree can live anywhere; it does not need to sit
|
|
7
|
+
inside the source tree.
|
|
8
|
+
|
|
9
|
+
## Model
|
|
10
|
+
|
|
11
|
+
There are three things:
|
|
12
|
+
|
|
13
|
+
- the source tree
|
|
14
|
+
- the `agent-configs` tree
|
|
15
|
+
- this `agent-run` wrapper
|
|
16
|
+
|
|
17
|
+
Example:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
~/source/
|
|
21
|
+
org/
|
|
22
|
+
my-api/
|
|
23
|
+
|
|
24
|
+
~/source/agent-configs/
|
|
25
|
+
org/
|
|
26
|
+
my-api/
|
|
27
|
+
AGENTS-MODS.md
|
|
28
|
+
AGENTS.md
|
|
29
|
+
CLAUDE.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If your source repo is `~/source/org/my-api`, `agent-run` can map it to:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
~/source/agent-configs/org/my-api
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The source repo stays clean. The agent files live in the matching path under
|
|
39
|
+
`agent-configs`.
|
|
40
|
+
|
|
41
|
+
## File Roles
|
|
42
|
+
|
|
43
|
+
- `AGENTS-MODS.md`: source file you edit
|
|
44
|
+
- `AGENTS.md`: generated from `AGENTS-MODS.md`
|
|
45
|
+
- `CLAUDE.md`: pointer file containing only `@AGENTS.md`
|
|
46
|
+
|
|
47
|
+
Edit `AGENTS-MODS.md`. `agent-run` keeps `AGENTS.md` and `CLAUDE.md` in sync.
|
|
48
|
+
|
|
49
|
+
## Profile Resolution
|
|
50
|
+
|
|
51
|
+
The mapped path is:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
<config-root>/<profile>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`profile` is resolved in this order:
|
|
58
|
+
|
|
59
|
+
1. `AGENT_RUN_PROFILE` in `.agent-run.env`
|
|
60
|
+
2. `package.json.name`
|
|
61
|
+
|
|
62
|
+
Examples:
|
|
63
|
+
|
|
64
|
+
- `AGENT_RUN_PROFILE=org/my-api` -> `org/my-api`
|
|
65
|
+
- `AGENT_RUN_PROFILE=unrelated/hello` -> `unrelated/hello`
|
|
66
|
+
- `package.json.name = "@org/my-api"` -> `org/my-api`
|
|
67
|
+
- `package.json.name = "my-api"` -> `my-api`
|
|
68
|
+
|
|
69
|
+
`AGENT_RUN_PROFILE` is relative to the config root. It is not a filesystem
|
|
70
|
+
path, so values like `/tmp/foo`, `C:/tmp/foo`, or `../foo` are rejected.
|
|
71
|
+
|
|
72
|
+
If neither exists, `agent-run` fails instead of guessing.
|
|
73
|
+
|
|
74
|
+
## Overrides
|
|
75
|
+
|
|
76
|
+
Local override for a repo:
|
|
77
|
+
|
|
78
|
+
```dotenv
|
|
79
|
+
# .agent-run.env
|
|
80
|
+
AGENT_RUN_PROFILE=org/my-api
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Config root:
|
|
84
|
+
|
|
85
|
+
- default: `~/source/agent-configs` on Unix
|
|
86
|
+
- default: `~/Documents/source/agent-configs` on Windows
|
|
87
|
+
- override with `--config-root /path/to/agent-configs`
|
|
88
|
+
- override with `AGENT_CONFIG_ROOT=/path/to/agent-configs`
|
|
89
|
+
- or set `AGENT_CONFIG_ROOT=/path/to/agent-configs` in `.agent-run.env`
|
|
90
|
+
|
|
91
|
+
## Commands
|
|
92
|
+
|
|
93
|
+
Global flag:
|
|
94
|
+
|
|
95
|
+
- `-v`, `--verbose`: print path resolution, file creation, include expansion,
|
|
96
|
+
generated file writes, and spawned commands
|
|
97
|
+
|
|
98
|
+
Initialize mapped files for the current repo:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
agent-run init
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This creates the mapped profile directory if needed and ensures these files
|
|
105
|
+
exist:
|
|
106
|
+
|
|
107
|
+
- `AGENTS-MODS.md`
|
|
108
|
+
- `AGENTS.md`
|
|
109
|
+
- `CLAUDE.md`
|
|
110
|
+
|
|
111
|
+
Edit the source file for the current repo:
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
agent-run edit
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
This creates missing files, syncs generated files, then opens
|
|
118
|
+
`AGENTS-MODS.md` in your editor.
|
|
119
|
+
|
|
120
|
+
Regenerate the generated files for the current repo:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
agent-run update
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This reads `AGENTS-MODS.md` from the mapped profile directory and rewrites:
|
|
127
|
+
|
|
128
|
+
- `AGENTS.md`
|
|
129
|
+
- `CLAUDE.md`
|
|
130
|
+
|
|
131
|
+
Supported placeholders in `AGENTS-MODS.md` are expanded when `AGENTS.md` is generated:
|
|
132
|
+
|
|
133
|
+
- `{{AGENT_DIR}}`: mapped config directory for the current repo
|
|
134
|
+
- `{{AGENTS_MODS_PATH}}`: source `AGENTS-MODS.md` path
|
|
135
|
+
- `{{AGENTS_PATH}}`: generated `AGENTS.md` path
|
|
136
|
+
- `{{CLAUDE_PATH}}`: generated `CLAUDE.md` path
|
|
137
|
+
- `{{CONFIG_ROOT}}`: resolved config root
|
|
138
|
+
- `{{PROFILE}}`: mapped profile such as `technomoron/apicore`
|
|
139
|
+
|
|
140
|
+
Check the current repo:
|
|
141
|
+
|
|
142
|
+
```sh
|
|
143
|
+
agent-run check
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
This reports:
|
|
147
|
+
|
|
148
|
+
- local AI files accidentally present in the source repo
|
|
149
|
+
- missing mapped files
|
|
150
|
+
- stale `AGENTS.md`
|
|
151
|
+
- invalid `CLAUDE.md`
|
|
152
|
+
- profile resolution problems
|
|
153
|
+
|
|
154
|
+
Check every repo under a source tree:
|
|
155
|
+
|
|
156
|
+
```sh
|
|
157
|
+
agent-run check --all ~/source
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Install
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
npm install -g @technomoron/agent-run
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Release
|
|
167
|
+
|
|
168
|
+
Releases publish from GitHub Actions, not from a local `npm publish`.
|
|
169
|
+
|
|
170
|
+
After updating `package.json` and `CHANGES`, run:
|
|
171
|
+
|
|
172
|
+
```sh
|
|
173
|
+
pnpm release
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
This validates the repo, creates the annotated tag matching the package version,
|
|
177
|
+
and pushes that tag to `origin`. The tag push triggers the release workflow,
|
|
178
|
+
which verifies, packs, publishes to npm, and creates the GitHub release.
|