memgineering 0.0.0 → 0.2.0

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/package.json CHANGED
@@ -1,31 +1,73 @@
1
1
  {
2
2
  "name": "memgineering",
3
- "version": "0.0.0",
4
- "description": "One memory for the AI you connect. Coming soon.",
5
- "license": "UNLICENSED",
3
+ "version": "0.2.0",
4
+ "private": false,
5
+ "description": "One memory for the AI you connect. Recall, remember, and revise a brain your agents share — stored in your own folder.",
6
+ "license": "Apache-2.0",
7
+ "homepage": "https://memgineering.com",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/memgineering/memgineering.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/memgineering/memgineering/issues"
14
+ },
15
+ "type": "module",
6
16
  "bin": {
7
17
  "memgineering": "bin/memgineering.js"
8
18
  },
19
+ "main": "./dist/index.js",
9
20
  "files": [
10
21
  "bin",
11
- "README.md"
22
+ "dist",
23
+ "assets",
24
+ "scripts",
25
+ "README.md",
26
+ "CHANGELOG.md",
27
+ "NOTICE"
12
28
  ],
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/Rayul0325/memgineering.git"
29
+ "scripts": {
30
+ "dev": "tsx src/index.ts",
31
+ "build": "tsup && rm -rf assets && mkdir -p assets && node scripts/copy-skills.mjs",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "vitest run",
34
+ "test:unit": "vitest run",
35
+ "prepublishOnly": "pnpm build",
36
+ "postinstall": "node scripts/postinstall.mjs"
16
37
  },
17
- "homepage": "https://memgineering.com",
18
- "bugs": {
19
- "url": "https://github.com/Rayul0325/memgineering/issues"
38
+ "dependencies": {
39
+ "@iarna/toml": "^2.2.5",
40
+ "commander": "^12.1.0",
41
+ "kleur": "^4.1.5",
42
+ "prompts": "^2.4.2",
43
+ "semver": "^7.8.4",
44
+ "yaml": "^2.9.0",
45
+ "zod": "^3.23.8"
46
+ },
47
+ "devDependencies": {
48
+ "@kordis/config": "workspace:*",
49
+ "@kordis/contracts": "workspace:*",
50
+ "@kordis/harness-schema": "workspace:*",
51
+ "@kordis/memory-engine": "workspace:*",
52
+ "@kordis/storage-adapter": "workspace:*",
53
+ "@types/node": "^22.9.0",
54
+ "@types/prompts": "^2.4.9",
55
+ "@types/semver": "^7.5.8",
56
+ "tsup": "^8.3.5",
57
+ "tsx": "^4.22.4",
58
+ "typescript": "^5.6.3",
59
+ "vitest": "^3.2.6"
60
+ },
61
+ "engines": {
62
+ "node": ">=20.0.0"
20
63
  },
21
64
  "keywords": [
22
65
  "ai",
23
66
  "memory",
24
67
  "agent",
25
- "memory-engineering"
26
- ],
27
- "publishConfig": {
28
- "access": "public"
29
- }
68
+ "memory-engineering",
69
+ "claude-code",
70
+ "codex",
71
+ "second-brain"
72
+ ]
30
73
  }
31
-
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Copy this package's sub-skills into `assets/` for publishing.
4
+ *
5
+ * Selective on purpose. apps/cli copies ALL of packages/skills, which is why
6
+ * every kordis tarball carries skills it never installs. Doing the same here
7
+ * would ship the six `kordis-*` skills inside a memgineering install and put
8
+ * a competing command vocabulary in front of the agent that reads them.
9
+ *
10
+ * Only `memgineering-*` directories move. A missing source directory is not
11
+ * an error during early development — `setup` degrades to "no sub-skills
12
+ * bundled" rather than failing the build.
13
+ */
14
+ import { copyFile, cp, mkdir, readdir } from 'node:fs/promises';
15
+ import { fileURLToPath } from 'node:url';
16
+ import { dirname, join } from 'node:path';
17
+
18
+ const here = dirname(fileURLToPath(import.meta.url));
19
+ const skillsRoot = join(here, '..', '..', '..', 'packages', 'skills');
20
+ const assets = join(here, '..', 'assets');
21
+
22
+ await mkdir(assets, { recursive: true });
23
+
24
+ let entries = [];
25
+ try {
26
+ entries = await readdir(skillsRoot, { withFileTypes: true });
27
+ } catch {
28
+ console.log('copy-skills: packages/skills not found, nothing to bundle');
29
+ process.exit(0);
30
+ }
31
+
32
+ // The hub goes first, and its presence in assets/ is also what tells the CLI
33
+ // at runtime that it is an installed copy rather than a source checkout.
34
+ await copyFile(join(skillsRoot, 'MEMGINEERING.md'), join(assets, 'MEMGINEERING.md'));
35
+
36
+ const ours = entries.filter((e) => e.isDirectory() && e.name.startsWith('memgineering-'));
37
+ for (const dir of ours) {
38
+ await cp(join(skillsRoot, dir.name), join(assets, dir.name), { recursive: true });
39
+ }
40
+ console.log(`copy-skills: bundled hub + ${ours.length} skill(s)`);
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * One line after install, and nothing else.
4
+ *
5
+ * Deliberately not `setup --silent`, the way the kordis CLI does it. Setup
6
+ * here asks which tools to install into and whether the tool may update
7
+ * itself — questions that belong to the person, not to a package manager
8
+ * running unattended. Doing it from postinstall would answer them by
9
+ * default and call that consent.
10
+ *
11
+ * Silent for local installs and for anything non-interactive: a dependency
12
+ * being pulled into someone's project has no business printing instructions.
13
+ */
14
+ if (process.stdout.isTTY && process.env['npm_config_global'] === 'true') {
15
+ process.stdout.write('\nmemgineering installed. Next: memgineering setup\n\n');
16
+ }