@technomoron/agent-run 0.99.8 → 0.99.9

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 CHANGED
@@ -4,6 +4,11 @@ CHANGES
4
4
  Unreleased (2026-04-24)
5
5
  -----------------------
6
6
 
7
+ Version 0.99.9 (2026-04-26)
8
+ ---------------------------
9
+ * Add `{config-root}/notes/memory` as an optional shared memory directory passed with `--add-dir` to Codex and Claude when it exists.
10
+ * Add a starter `skills/personal-memory.md` file to the packaged config skeleton.
11
+
7
12
  Version 0.99.8 (2026-04-26)
8
13
  ---------------------------
9
14
  * Skip stale `codex` or `claude` PATH redirect shims that print `Run agent-run instead` when locating the real underlying tool binary.
package/README.md CHANGED
@@ -169,8 +169,9 @@ Per-profile override templates can be placed in:
169
169
 
170
170
  A complete starter lives in `examples/basic-config`. It includes a minimal
171
171
  project, `.agent-run.env`, a config root with global templates and snippets,
172
- profile-local templates, skill templates, profile skill overrides, tool config
173
- overrides, guardrails, checks, and generated runtime paths.
172
+ profile-local templates, skill templates, a personal memory skill, profile
173
+ skill overrides, tool config overrides, guardrails, checks, and generated
174
+ runtime paths.
174
175
 
175
176
  To copy the packaged starter config root into your default config location:
176
177
 
package/dist/agent-run.js CHANGED
@@ -482,10 +482,10 @@ function runTool(parsed) {
482
482
  ensureRunnableProfile(configRoot, agentDir, profile);
483
483
  syncAgentProfile(projectRoot, agentDir);
484
484
  if (command === 'codex') {
485
- runCodex(realBinary, permissionArgs, agentDir, args, projectRoot, wrapperArgs);
485
+ runCodex(realBinary, permissionArgs, agentDir, configRoot, args, projectRoot, wrapperArgs);
486
486
  return;
487
487
  }
488
- runClaude(realBinary, permissionArgs, agentDir, args, projectRoot);
488
+ runClaude(realBinary, permissionArgs, agentDir, configRoot, args, projectRoot);
489
489
  }
490
490
  function runInit(parsed) {
491
491
  const projectRoot = findProjectRoot(parsed.targetPath);
@@ -1459,7 +1459,7 @@ function countWarnings(findings) {
1459
1459
  function formatError(error) {
1460
1460
  return error instanceof Error ? error.message : String(error);
1461
1461
  }
1462
- function runCodex(realBinary, permissionArgs, agentDir, args, projectRoot, wrapperArgs) {
1462
+ function runCodex(realBinary, permissionArgs, agentDir, configRoot, args, projectRoot, wrapperArgs) {
1463
1463
  const agentsPath = path.join(agentDir, 'AGENTS.md');
1464
1464
  if (!fs.existsSync(agentsPath)) {
1465
1465
  failMissingConfig('codex', agentDir);
@@ -1482,6 +1482,7 @@ function runCodex(realBinary, permissionArgs, agentDir, args, projectRoot, wrapp
1482
1482
  `system_prompt_file=${agentsPath}`,
1483
1483
  '--config',
1484
1484
  'project_doc_max_bytes=65536',
1485
+ ...globalMemoryArgs(configRoot),
1485
1486
  '-C',
1486
1487
  projectRoot,
1487
1488
  ...(wrapperArgs.codexSandboxMode === 'sandboxed' && wrapperArgs.codexNetwork
@@ -1497,7 +1498,7 @@ function buildCodexRuntimeArgs(wrapperArgs) {
1497
1498
  }
1498
1499
  return ['-a', 'never', '-s', 'danger-full-access'];
1499
1500
  }
1500
- function runClaude(realBinary, permissionArgs, agentDir, args, projectRoot) {
1501
+ function runClaude(realBinary, permissionArgs, agentDir, configRoot, args, projectRoot) {
1501
1502
  const claudePath = path.join(agentDir, 'CLAUDE.md');
1502
1503
  if (!fs.existsSync(claudePath)) {
1503
1504
  failMissingConfig('claude', agentDir);
@@ -1519,9 +1520,14 @@ function runClaude(realBinary, permissionArgs, agentDir, args, projectRoot) {
1519
1520
  projectRoot,
1520
1521
  '--add-dir',
1521
1522
  agentDir,
1523
+ ...globalMemoryArgs(configRoot),
1522
1524
  ...args
1523
1525
  ], shouldUseShell(realBinary), env, projectRoot, (code) => postflightProjectCheck(projectRoot, agentDir, code));
1524
1526
  }
1527
+ function globalMemoryArgs(configRoot) {
1528
+ const memoryDir = path.join(configRoot, 'notes', 'memory');
1529
+ return fs.existsSync(memoryDir) ? ['--add-dir', memoryDir] : [];
1530
+ }
1525
1531
  function postflightProjectCheck(projectRoot, agentDir, code) {
1526
1532
  const localAiFiles = findLocalAiFiles(projectRoot, agentDir);
1527
1533
  if (localAiFiles.length === 0) {
@@ -8,8 +8,8 @@ It contains two pieces:
8
8
  - `project/`: a minimal project with `.agent-run.env` pointing at the bundled
9
9
  config root.
10
10
  - `agent-config/`: a complete config root with global templates, snippets,
11
- skill templates, a profile manifest, profile-local instructions, and profile
12
- overrides.
11
+ skill templates, a personal memory skill, a profile manifest, profile-local
12
+ instructions, and profile overrides.
13
13
 
14
14
  Try it from this repository after building:
15
15
 
@@ -0,0 +1 @@
1
+ Read `./notes/memory/README.md` first. Follow its file index and read only the files relevant to the current task. Do not edit memory files unless the user explicitly asks.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@technomoron/agent-run",
3
- "version": "0.99.8",
3
+ "version": "0.99.9",
4
4
  "packageManager": "pnpm@10.28.1",
5
5
  "bin": {
6
6
  "agent-run": "dist/agent-run.js"