arscontexta 0.6.0 → 0.6.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.
@@ -1,11 +1,37 @@
1
1
  {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
2
3
  "name": "arscontexta",
3
- "owner": { "name": "Ars Contexta", "email": "arscontexta@proton.me" },
4
+ "owner": {
5
+ "name": "Heinrich",
6
+ "email": "arscontexta@proton.me"
7
+ },
8
+ "metadata": {
9
+ "description": "Conversational derivation engine for agent-native knowledge systems",
10
+ "version": "0.6.1"
11
+ },
4
12
  "plugins": [
5
13
  {
6
14
  "name": "arscontexta",
15
+ "description": "Generate research-backed knowledge systems from natural conversation. 15 kernel primitives, 26 commands, 249 research claims, 3 presets.",
16
+ "version": "0.6.1",
7
17
  "source": "./",
8
- "description": "Conversational derivation engine for agent-native knowledge systems"
18
+ "strict": false,
19
+ "author": {
20
+ "name": "Heinrich",
21
+ "email": "arscontexta@proton.me"
22
+ },
23
+ "homepage": "https://github.com/agenticnotetaking/arscontexta",
24
+ "repository": "https://github.com/agenticnotetaking/arscontexta",
25
+ "license": "MIT",
26
+ "keywords": [
27
+ "knowledge-management",
28
+ "tools-for-thought",
29
+ "agent-memory",
30
+ "derivation-engine",
31
+ "zettelkasten",
32
+ "cognitive-architecture"
33
+ ],
34
+ "category": "productivity"
9
35
  }
10
36
  ]
11
37
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arscontexta",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Conversational derivation engine — generate agent-native memory architecture from natural conversation. 15 kernel primitives, 26 commands, 17 feature blocks, 3 presets.",
5
5
  "author": {
6
6
  "name": "Heinrich",
package/README.md CHANGED
@@ -64,33 +64,24 @@ The names adapt to your domain (`notes/` might become `reflections/`, `claims/`,
64
64
 
65
65
  ## Installation
66
66
 
67
- ### NPM (recommended)
67
+ ### Marketplace (recommended)
68
68
 
69
- One command installs the plugin into your current project:
69
+ Inside Claude Code, run:
70
70
 
71
- ```bash
72
- npx arscontexta
71
+ ```
72
+ /plugin marketplace add agenticnotetaking/arscontexta
73
+ /plugin install arscontexta@arscontexta
73
74
  ```
74
75
 
75
- This checks that Claude Code is installed, then copies the plugin into `.claude/plugins/arscontexta/` in your current working directory. After installation:
76
-
77
- 1. Restart Claude Code (required for plugin activation)
78
- 2. Run `/arscontexta:setup` to begin the conversational onboarding
79
-
80
- **How it works:** `npx` downloads the package from npm, runs `bin/cli.mjs`, which copies all plugin directories (skills, hooks, generators, methodology, reference files) into your project's `.claude/plugins/arscontexta/`. Claude Code discovers the plugin on next launch via the `plugin.json` manifest.
76
+ Restart Claude Code, then run `/arscontexta:setup` to begin.
81
77
 
82
- ### GitHub
78
+ ### NPM
83
79
 
84
80
  ```bash
85
- /install-plugin https://github.com/agenticnotetaking/arscontexta
81
+ npx arscontexta
86
82
  ```
87
83
 
88
- Or clone and install locally:
89
-
90
- ```bash
91
- git clone https://github.com/agenticnotetaking/arscontexta.git
92
- claude plugin add ./arscontexta
93
- ```
84
+ Copies the plugin into the Claude Code plugin cache and registers it. Restart Claude Code, then run `/arscontexta:setup`.
94
85
 
95
86
  ### Local Development
96
87
 
@@ -101,7 +92,7 @@ git clone https://github.com/agenticnotetaking/arscontexta.git
101
92
  claude --plugin-dir ./arscontexta
102
93
  ```
103
94
 
104
- This loads the plugin for a single session without copying files. Useful for iterating on the plugin itself.
95
+ This loads the plugin for a single session without installing. Useful for iterating on the plugin itself.
105
96
 
106
97
  ---
107
98
 
package/bin/cli.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
+ import os from "node:os";
4
5
  import { fileURLToPath } from "node:url";
5
6
  import { execSync } from "node:child_process";
6
7
 
@@ -21,12 +22,19 @@ try {
21
22
  process.exit(1);
22
23
  }
23
24
 
24
- // --- Determine install target ---
25
- const cwd = process.cwd();
25
+ // --- Install to plugin cache ---
26
+ const homedir = os.homedir();
27
+ const marketplaceName = "local";
26
28
  const pluginName = "arscontexta";
27
- const dest = path.join(cwd, ".claude", "plugins", pluginName);
29
+ const dest = path.join(
30
+ homedir,
31
+ ".claude",
32
+ "plugins",
33
+ "cache",
34
+ marketplaceName,
35
+ pluginName
36
+ );
28
37
 
29
- // --- Plugin directories to copy ---
30
38
  const pluginDirs = [
31
39
  ".claude-plugin",
32
40
  "skills",
@@ -42,8 +50,12 @@ const pluginDirs = [
42
50
  "openclaw",
43
51
  ];
44
52
 
45
- // --- Copy plugin ---
46
- console.log(` Installing to ${path.relative(cwd, dest) || dest}`);
53
+ console.log(` Installing to ~/.claude/plugins/cache/${marketplaceName}/${pluginName}/`);
54
+
55
+ // Clean previous install
56
+ if (fs.existsSync(dest)) {
57
+ fs.rmSync(dest, { recursive: true });
58
+ }
47
59
  fs.mkdirSync(dest, { recursive: true });
48
60
 
49
61
  for (const dir of pluginDirs) {
@@ -60,7 +72,26 @@ if (fs.existsSync(readme)) {
60
72
  fs.copyFileSync(readme, path.join(dest, "README.md"));
61
73
  }
62
74
 
75
+ // --- Register in settings.json ---
76
+ const settingsPath = path.join(homedir, ".claude", "settings.json");
77
+ let settings = {};
78
+ if (fs.existsSync(settingsPath)) {
79
+ try {
80
+ settings = JSON.parse(fs.readFileSync(settingsPath, "utf8"));
81
+ } catch {
82
+ settings = {};
83
+ }
84
+ }
85
+
86
+ // Enable the plugin
87
+ if (!settings.enabledPlugins) settings.enabledPlugins = {};
88
+ settings.enabledPlugins[`${pluginName}@${marketplaceName}`] = true;
89
+
90
+ fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
91
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
92
+
93
+ console.log(" Registered in Claude Code settings.");
63
94
  console.log("");
64
95
  console.log(" Installed. Restart Claude Code, then run:");
65
- console.log(" /setup");
96
+ console.log(" /arscontexta:setup");
66
97
  console.log("");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arscontexta",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Conversational derivation engine for agent-native knowledge systems. Run /setup to build your cognitive architecture.",
5
5
  "type": "module",
6
6
  "bin": {