@convesoft/mara 0.1.0-alpha.1 → 0.1.0-alpha.2

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/README.md CHANGED
@@ -14,9 +14,9 @@ baseline.
14
14
  Pin the exact version so an MCP restart cannot silently change behavior:
15
15
 
16
16
  ```bash
17
- npx -y @convesoft/mara@0.1.0-alpha.0 --version
18
- npx -y @convesoft/mara@0.1.0-alpha.0 project init ./example
19
- npx -y @convesoft/mara@0.1.0-alpha.0 --project ./example project validate
17
+ npx -y @convesoft/mara@0.1.0-alpha.2 --version
18
+ npx -y @convesoft/mara@0.1.0-alpha.2 project init ./example
19
+ npx -y @convesoft/mara@0.1.0-alpha.2 --project ./example project validate
20
20
  ```
21
21
 
22
22
  The npm packages contain prebuilt native binaries and use no install scripts.
@@ -29,7 +29,7 @@ For a client that starts stdio servers in the project directory:
29
29
  ```toml
30
30
  [mcp_servers.mara]
31
31
  command = "npx"
32
- args = ["-y", "@convesoft/mara@0.1.0-alpha.0", "mcp"]
32
+ args = ["-y", "@convesoft/mara@0.1.0-alpha.2", "mcp"]
33
33
  ```
34
34
 
35
35
  To bind the server to one project regardless of its execution directory, place
@@ -40,7 +40,7 @@ To bind the server to one project regardless of its execution directory, place
40
40
  command = "npx"
41
41
  args = [
42
42
  "-y",
43
- "@convesoft/mara@0.1.0-alpha.0",
43
+ "@convesoft/mara@0.1.0-alpha.2",
44
44
  "mcp",
45
45
  "--project",
46
46
  "/absolute/path/to/project",
@@ -51,43 +51,37 @@ Without `--project`, the server can start anywhere. Project-bound tools accept
51
51
  an absolute `project` path or discover the nearest parent containing
52
52
  `.mara/project.toml` from the server's execution directory.
53
53
 
54
- ## Agent Plugin package
54
+ ## Configure Codex
55
55
 
56
- The main npm package also contains a portable Agent Plugins 1.0 manifest, a
57
- Mara skill, and stdio MCP configuration. Compatible clients can install that
58
- package through their supported plugin distribution flow. Codex is the
59
- reference client; the portable package does not modify project `AGENTS.md`.
60
-
61
- Starting with `0.1.0-alpha.1`, a user without an existing Mara installation can
62
- install the complete package from the Convesoft Codex marketplace:
56
+ Register the installed Mara executable as an MCP server and install the Mara
57
+ skill separately:
63
58
 
64
59
  ```bash
65
- codex plugin marketplace add convesoft/mara
66
- codex plugin add mara@convesoft
60
+ codex mcp add mara -- npx -y @convesoft/mara@0.1.0-alpha.2 mcp
61
+ npx skills add convesoft/mara --skill mara -g -a codex
67
62
  ```
68
63
 
69
- Start a new Codex session after installation. Codex keeps an installed plugin
70
- snapshot in its managed cache. On first MCP start, its launcher uses `npx` to
71
- install and run that snapshot's exact Mara version with the matching native
72
- package in npm's cache.
73
-
74
- If Mara and its MCP server are already configured, install only the skill and
75
- keep using that existing executable:
64
+ If Mara is already installed, register its absolute executable path instead:
76
65
 
77
66
  ```bash
78
- npx skills add convesoft/mara --skill mara -g -a codex
67
+ codex mcp add mara -- /absolute/path/to/mara mcp
79
68
  ```
80
69
 
81
- For a new MCP registration backed by an existing installation, use the
82
- executable's absolute path:
70
+ The skill and MCP server expose the same Mara operations without installing a
71
+ second executable or depending on a client's plugin-cache layout.
72
+
73
+ The npm package also contains an optional portable Agent Plugins 1.0 manifest,
74
+ skill, and MCP configuration. Compatible clients may install the complete
75
+ package through the Convesoft marketplace as a convenience:
83
76
 
84
77
  ```bash
85
- codex mcp add mara -- /absolute/path/to/mara mcp
78
+ codex plugin marketplace add convesoft/mara
79
+ codex plugin add mara@convesoft
86
80
  ```
87
81
 
88
- Use either the complete plugin or the existing-installation route. Do not add
89
- the complete plugin alongside an equivalent manually configured Mara MCP
90
- server.
82
+ The complete plugin is not a release compatibility target. Do not install it
83
+ alongside an equivalent manually configured Mara MCP server. Neither onboarding
84
+ route modifies project `AGENTS.md`.
91
85
 
92
86
  ## Core workflow
93
87
 
@@ -104,8 +98,12 @@ mara item get REQ-EXAMPLE
104
98
 
105
99
  Run `mara --help` or `mara <object> <operation> --help` for the complete command
106
100
  surface. The canonical alpha behavior is documented in
107
- [`docs/alpha.mara.md`](docs/alpha.mara.md); distribution and release guarantees
108
- are in [`docs/distribution.mara.md`](docs/distribution.mara.md).
101
+ [`docs/alpha.mara.md`](docs/alpha.mara.md). Structured update, move, rename,
102
+ delete, and recovery follow [`docs/editing.mara.md`](docs/editing.mara.md).
103
+ For existing projects whose items lack machine identities, run
104
+ `mara project mid backfill`, then `mara project validate` before editing.
105
+ Distribution and release guarantees are in
106
+ [`docs/distribution.mara.md`](docs/distribution.mara.md).
109
107
 
110
108
  ## Development
111
109
 
@@ -29,7 +29,10 @@ const command = hasLocalRuntime ? process.execPath : "npx";
29
29
  const args = hasLocalRuntime
30
30
  ? [path.join(__dirname, "mara.cjs"), ...process.argv.slice(2)]
31
31
  : ["--yes", `${manifest.name}@${manifest.version}`, ...process.argv.slice(2)];
32
- const child = spawn(command, args, { stdio: "inherit" });
32
+ const child = spawn(command, args, {
33
+ cwd: hasLocalRuntime ? undefined : path.parse(__dirname).root,
34
+ stdio: "inherit",
35
+ });
33
36
  const signals = ["SIGINT", "SIGTERM", "SIGHUP"];
34
37
  const forward = new Map();
35
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@convesoft/mara",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0-alpha.2",
4
4
  "description": "Structured project knowledge CLI and MCP server",
5
5
  "author": "Aliaksei Raketski",
6
6
  "license": "MIT OR Apache-2.0",
@@ -18,10 +18,10 @@
18
18
  "node": ">=18"
19
19
  },
20
20
  "optionalDependencies": {
21
- "@convesoft/mara-linux-x64-gnu": "0.1.0-alpha.1",
22
- "@convesoft/mara-linux-arm64-gnu": "0.1.0-alpha.1",
23
- "@convesoft/mara-darwin-x64": "0.1.0-alpha.1",
24
- "@convesoft/mara-darwin-arm64": "0.1.0-alpha.1"
21
+ "@convesoft/mara-linux-x64-gnu": "0.1.0-alpha.2",
22
+ "@convesoft/mara-linux-arm64-gnu": "0.1.0-alpha.2",
23
+ "@convesoft/mara-darwin-x64": "0.1.0-alpha.2",
24
+ "@convesoft/mara-darwin-arm64": "0.1.0-alpha.2"
25
25
  },
26
26
  "files": [
27
27
  "bin/mara.cjs",
package/plugin.json CHANGED
@@ -15,5 +15,5 @@
15
15
  "mcp",
16
16
  "agent-skill"
17
17
  ],
18
- "version": "0.1.0-alpha.1"
18
+ "version": "0.1.0-alpha.2"
19
19
  }
@@ -29,12 +29,18 @@ or modify `AGENTS.md` as part of Mara onboarding.
29
29
  1. Call `schema_get` before authoring unfamiliar flavours, fields, or relations.
30
30
  2. Use `item_search`, `item_list`, and `item_related` for bounded discovery;
31
31
  call `item_get` only for selected full items.
32
- 3. Use `item_create`, `relation_add`, and `relation_remove` only when the user
33
- has asked to change project knowledge.
32
+ 3. Use `item_create`, `item_update`, `item_move`, `item_rename`, `item_delete`,
33
+ `relation_add`, and `relation_remove` only when the user has asked to change
34
+ project knowledge.
34
35
  4. Run the narrowest relevant validation after a mutation and use
35
36
  `project_validate` when the requested work affects corpus-wide integrity.
36
37
 
37
38
  Mara source files remain canonical. Do not treat MCP results as a separate
38
- authoring store. Structured update, move, rename, and delete operations are not
39
- available yet; when one is required, edit the source file directly and validate
40
- the result.
39
+ authoring store. Use `item_update` for partial title, custom-field, or body edits;
40
+ use `item_move` to relocate an item while preserving identity. Update warnings
41
+ about existing scaffold bodies still count as errors in explicit validation.
42
+ Use `item_delete` to remove an item only when no surviving typed relations or
43
+ supported wiki mentions refer to it; resolve reported blockers explicitly.
44
+ Use `item_rename` to change a human ID and supported internal references while
45
+ preserving the MID. Pending transactions block mutations; use
46
+ `project_transaction_rollback` for explicit recovery after stopping other writers.