memgineering 0.4.2 → 0.5.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/CHANGELOG.md +230 -0
- package/README.md +31 -7
- package/assets/MEMGINEERING.md +33 -0
- package/assets/memgineering-memory/SKILL.md +26 -0
- package/assets/memgineering-setup/SKILL.md +14 -0
- package/bin/memgineering.js +0 -0
- package/dist/index.js +2718 -781
- package/package.json +2 -2
- package/scripts/postinstall.mjs +59 -10
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memgineering",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "One memory for the AI you connect. Recall, remember, and revise a brain your agents share
|
|
5
|
+
"description": "One memory for the AI you connect. Recall, remember, and revise a brain your agents share \u2014 stored in your own folder.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"homepage": "https://memgineering.com",
|
|
8
8
|
"repository": {
|
package/scripts/postinstall.mjs
CHANGED
|
@@ -1,16 +1,65 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* The one thing an AGENT has to be told after a global install.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* This used to print `memgineering installed. Next: memgineering setup` and
|
|
6
|
+
* gate it on `process.stdout.isTTY`. Both were wrong, and a first-run test with
|
|
7
|
+
* Codex showed exactly how: the agent installed the package and then reported
|
|
8
|
+
* to its user "초기 설정 명령: memgineering setup" — handing a terminal command
|
|
9
|
+
* to a non-developer and stopping. The person is left holding an instruction
|
|
10
|
+
* they did not ask for and cannot act on, in a product whose entire premise is
|
|
11
|
+
* that their agent does this for them.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
+
* The TTY gate made it worse. An agent running `npm i -g` has a PIPE, not a
|
|
14
|
+
* terminal, so the guidance was suppressed in precisely the case it exists for
|
|
15
|
+
* and printed only for the developer who least needed it.
|
|
16
|
+
*
|
|
17
|
+
* So: speak to the agent, and speak when the agent is listening. The global
|
|
18
|
+
* check stays — a dependency pulled into somebody's project still has no
|
|
19
|
+
* business printing instructions.
|
|
20
|
+
*
|
|
21
|
+
* Setup is NOT run from here. It asks which tools to install into and whether
|
|
22
|
+
* the tool may update itself, and answering those from a package manager
|
|
23
|
+
* running unattended would be inventing consent. The agent asks the one
|
|
24
|
+
* question that decides it, then runs setup itself — which is the same
|
|
25
|
+
* division of labour every other verb in this product uses.
|
|
26
|
+
*
|
|
27
|
+
* English, per the CLI-output rule: the agent re-renders it in whatever
|
|
28
|
+
* language its user speaks.
|
|
13
29
|
*/
|
|
14
|
-
if (process.
|
|
15
|
-
process.stdout.write(
|
|
30
|
+
if (process.env['npm_config_global'] === 'true') {
|
|
31
|
+
process.stdout.write(
|
|
32
|
+
[
|
|
33
|
+
'',
|
|
34
|
+
'memgineering is installed. It is NOT set up yet.',
|
|
35
|
+
'',
|
|
36
|
+
'TO THE AGENT READING THIS — finish it now, in this same turn. Do not',
|
|
37
|
+
'print these commands for your user and stop: they are yours to run.',
|
|
38
|
+
'',
|
|
39
|
+
'Ask them TWO short questions, in their language, then run setup yourself.',
|
|
40
|
+
'',
|
|
41
|
+
' 1. Where should the memory live?',
|
|
42
|
+
' "Just on this machine, or synced to an account so every device',
|
|
43
|
+
' and every tool you use sees the same brain?"',
|
|
44
|
+
'',
|
|
45
|
+
' this machine -> no extra flag',
|
|
46
|
+
' synced -> add --login',
|
|
47
|
+
'',
|
|
48
|
+
' 2. Who picks the rest of the settings?',
|
|
49
|
+
' "Shall I set it up, or would you rather choose on a screen?"',
|
|
50
|
+
'',
|
|
51
|
+
' you do it -> memgineering setup --agent',
|
|
52
|
+
' they choose -> memgineering setup --web',
|
|
53
|
+
'',
|
|
54
|
+
'So: `memgineering setup --agent --login`, or `--agent`, or `--web',
|
|
55
|
+
'--login`, or `--web`. Question 1 matters most — WITHOUT `--login`,',
|
|
56
|
+
'setup makes a folder on this machine and never mentions accounts, and',
|
|
57
|
+
'the user finds out later that their memory does not follow them.',
|
|
58
|
+
'',
|
|
59
|
+
'`--login` prints a short code: show it to them and they approve it in',
|
|
60
|
+
'the browser. Setup does not wait, and the next command collects the',
|
|
61
|
+
'token, so you keep going in the same turn.',
|
|
62
|
+
'',
|
|
63
|
+
].join('\n'),
|
|
64
|
+
);
|
|
16
65
|
}
|