@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 +29 -31
- package/bin/mara-plugin.cjs +4 -1
- package/package.json +5 -5
- package/plugin.json +1 -1
- package/skills/mara/SKILL.md +11 -5
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.
|
|
18
|
-
npx -y @convesoft/mara@0.1.0-alpha.
|
|
19
|
-
npx -y @convesoft/mara@0.1.0-alpha.
|
|
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.
|
|
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.
|
|
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
|
-
##
|
|
54
|
+
## Configure Codex
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
|
|
67
|
+
codex mcp add mara -- /absolute/path/to/mara mcp
|
|
79
68
|
```
|
|
80
69
|
|
|
81
|
-
|
|
82
|
-
executable's
|
|
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
|
|
78
|
+
codex plugin marketplace add convesoft/mara
|
|
79
|
+
codex plugin add mara@convesoft
|
|
86
80
|
```
|
|
87
81
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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)
|
|
108
|
-
|
|
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
|
|
package/bin/mara-plugin.cjs
CHANGED
|
@@ -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, {
|
|
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.
|
|
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.
|
|
22
|
-
"@convesoft/mara-linux-arm64-gnu": "0.1.0-alpha.
|
|
23
|
-
"@convesoft/mara-darwin-x64": "0.1.0-alpha.
|
|
24
|
-
"@convesoft/mara-darwin-arm64": "0.1.0-alpha.
|
|
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
package/skills/mara/SKILL.md
CHANGED
|
@@ -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`, `
|
|
33
|
-
has asked to change
|
|
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.
|
|
39
|
-
|
|
40
|
-
|
|
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.
|