agenr 0.7.2 → 0.7.3

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,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.3] - 2026-02-20
4
+
5
+ ### Added
6
+ - feat(plugin): bundled OpenClaw skill (skills/SKILL.md) - teaches agents when to call agenr_store and agenr_recall as MCP tools; automatically available when plugin is installed
7
+ - feat(plugin): complete configSchema in openclaw.plugin.json (signalMinImportance, signalMaxPerSignal, signalsEnabled, dbPath)
8
+
9
+ ### Changed
10
+ - fix(init): removed AGENTS.md auto-detection heuristic for openclaw platform - openclaw must be specified explicitly via --platform openclaw (AGENTS.md is also used by Codex; the heuristic was unreliable)
11
+ - fix(init): agenr init --platform openclaw no longer writes to AGENTS.md - the OpenClaw plugin handles memory injection via prependContext; AGENTS.md write was redundant
12
+
13
+ ### Internal
14
+ - chore(plugin): bump openclaw.plugin.json version to 0.7.3
15
+
3
16
  ## [0.7.2] - 2026-02-20
4
17
 
5
18
  ### Fixed
package/dist/cli-main.js CHANGED
@@ -13312,9 +13312,6 @@ async function detectPlatform(projectDir) {
13312
13312
  if (await isDirectory(path28.join(projectDir, ".cursor"))) {
13313
13313
  return "cursor";
13314
13314
  }
13315
- if (await pathExists(path28.join(projectDir, "AGENTS.md"))) {
13316
- return "openclaw";
13317
- }
13318
13315
  if (await pathExists(path28.join(projectDir, ".windsurfrules"))) {
13319
13316
  return "windsurf";
13320
13317
  }
@@ -13337,6 +13334,9 @@ async function resolveInstructionsPath(projectDir, platform) {
13337
13334
  if (platform === "codex") {
13338
13335
  return path28.join(os16.homedir(), ".codex", "AGENTS.md");
13339
13336
  }
13337
+ if (platform === "openclaw") {
13338
+ return null;
13339
+ }
13340
13340
  return path28.join(projectDir, "AGENTS.md");
13341
13341
  }
13342
13342
  function withMarkers(promptBlock) {
@@ -13486,9 +13486,13 @@ function formatInitSummary(result) {
13486
13486
  const lines = [
13487
13487
  `agenr init: platform=${result.platform} project=${result.project} dependencies=${dependencyLabel}`,
13488
13488
  `- Wrote .agenr/config.json`,
13489
- `- Wrote system prompt block to ${path28.basename(result.instructionsPath)}`,
13490
13489
  `- Wrote MCP config to ${path28.relative(result.projectDir, result.mcpPath) || path28.basename(result.mcpPath)}`
13491
13490
  ];
13491
+ if (result.instructionsPath !== null) {
13492
+ lines.splice(2, 0, `- Wrote system prompt block to ${path28.basename(result.instructionsPath)}`);
13493
+ } else {
13494
+ lines.splice(2, 0, `- Memory injection: handled automatically by ${result.platform} plugin (no instructions file needed)`);
13495
+ }
13492
13496
  if (result.gitignoreUpdated) {
13493
13497
  lines.push("- Added .agenr/knowledge.db to .gitignore");
13494
13498
  }
@@ -13516,12 +13520,14 @@ async function runInitCommand(options) {
13516
13520
  const dependencies = options.dependsOn !== void 0 ? normalizeSlugList(options.dependsOn) : void 0;
13517
13521
  const configResult = await writeAgenrConfig(projectDir, project, resolvedPlatform, dependencies);
13518
13522
  const instructionsPath = await resolveInstructionsPath(projectDir, resolvedPlatform);
13519
- await upsertPromptBlock(instructionsPath, buildSystemPromptBlock(project));
13523
+ if (instructionsPath !== null) {
13524
+ await upsertPromptBlock(instructionsPath, buildSystemPromptBlock(project));
13525
+ }
13520
13526
  const mcpPath = await writeMcpConfig(projectDir, resolvedPlatform);
13521
13527
  const gitignoreEntries = [".agenr/knowledge.db"];
13522
13528
  if (resolvedPlatform === "cursor") {
13523
13529
  gitignoreEntries.push(".cursor/rules/agenr.mdc");
13524
- if (isPathInsideProject(projectDir, instructionsPath)) {
13530
+ if (instructionsPath !== null && isPathInsideProject(projectDir, instructionsPath)) {
13525
13531
  const relativeInstructionsPath = path28.relative(projectDir, instructionsPath).split(path28.sep).join("/");
13526
13532
  gitignoreEntries.push(relativeInstructionsPath);
13527
13533
  }
@@ -2,7 +2,10 @@
2
2
  "id": "agenr",
3
3
  "name": "agenr Memory",
4
4
  "description": "Local memory layer - injects agenr context at session start",
5
- "version": "0.6.6",
5
+ "version": "0.7.3",
6
+ "skills": [
7
+ "skills"
8
+ ],
6
9
  "configSchema": {
7
10
  "type": "object",
8
11
  "additionalProperties": false,
@@ -18,6 +21,22 @@
18
21
  "enabled": {
19
22
  "type": "boolean",
20
23
  "description": "Set false to disable memory injection without uninstalling."
24
+ },
25
+ "signalMinImportance": {
26
+ "type": "number",
27
+ "description": "Minimum importance for mid-session signals (1-10, default: 7). Raise to reduce noise."
28
+ },
29
+ "signalMaxPerSignal": {
30
+ "type": "number",
31
+ "description": "Max entries per signal notification (default: 5)."
32
+ },
33
+ "signalsEnabled": {
34
+ "type": "boolean",
35
+ "description": "Set false to disable mid-session signals without uninstalling."
36
+ },
37
+ "dbPath": {
38
+ "type": "string",
39
+ "description": "Path to agenr DB. Defaults to AGENR_DB_PATH env or ~/.agenr/knowledge.db."
21
40
  }
22
41
  }
23
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenr",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "openclaw": {
5
5
  "extensions": [
6
6
  "dist/openclaw-plugin/index.js"
@@ -47,6 +47,7 @@
47
47
  ],
48
48
  "files": [
49
49
  "dist",
50
+ "skills",
50
51
  "openclaw.plugin.json",
51
52
  "CHANGELOG.md",
52
53
  "LICENSE",
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: agenr
3
+ description: Use when storing new knowledge (decisions, preferences, lessons, todos) or recalling context mid-session. The agenr plugin auto-injects memory at session start - this skill covers proactive store and on-demand recall.
4
+ ---
5
+
6
+ Use `agenr_store` proactively. Call it immediately after any decision, user preference, lesson learned, important event, or fact worth remembering. Do not ask first.
7
+
8
+ Required fields: `type`, `content`, `importance`.
9
+ Types: `fact | decision | preference | todo | lesson | event`.
10
+ Importance: `1-10` (default `7`), use `9` for critical items, use `10` sparingly.
11
+
12
+ Do not store secrets/credentials, temporary state, or verbatim conversation.
13
+
14
+ Use `agenr_recall` mid-session when you need context you do not already have. Use a specific query so results stay relevant.
15
+
16
+ Session-start recall is already handled automatically by the OpenClaw plugin. Do not call `agenr_recall` at turn 1 unless you need extra context beyond the injected summary.