memgineering 0.4.2 → 0.6.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/NOTICE CHANGED
@@ -9,6 +9,28 @@ terms. This NOTICE file must be included in redistributions and derivative
9
9
  works, per section 4(d) of that license.
10
10
 
11
11
 
12
+ BUNDLED FONT
13
+ ------------
14
+
15
+ The install screen (`memgineering setup --web`) carries a typeface inside the
16
+ program rather than fetching one. It is served over loopback under a policy
17
+ that allows no outbound request, so a webfont either arrives in the document or
18
+ does not arrive at all.
19
+
20
+ Jua
21
+ Copyright 2018 The BM JUA Project Authors
22
+ (https://github.com/googlefonts/jua)
23
+ Licensed under the SIL Open Font License, Version 1.1
24
+ (http://scripts.sil.org/OFL)
25
+
26
+ What ships is a SUBSET — 431 of the face's 2,520 glyphs, being the characters
27
+ the install screen's headings contain in Korean and English. It is embedded as
28
+ a WOFF2 in the program's own code and is not offered for download, sold, or
29
+ distributed on its own. The OFL permits both the subsetting and the embedding;
30
+ this notice is the attribution it asks for in return. The font is not renamed,
31
+ and no Reserved Font Name is claimed.
32
+
33
+
12
34
  UPDATES AND SUPPORT
13
35
  -------------------
14
36
 
package/README.md CHANGED
@@ -3,16 +3,25 @@
3
3
  One memory for the AI you connect.
4
4
 
5
5
  Your notes stay in a folder you own. Every agent you use — Claude Code, Codex,
6
- Gemini — reads and writes the same brain through one CLI, so what you told one
6
+ Antigravity — reads and writes the same brain through one CLI, so what you told one
7
7
  of them is there for the next one, tomorrow, and in whatever tool you move to
8
8
  after that.
9
9
 
10
+ **You do not have to run any of this yourself.** Ask whichever agent you are
11
+ already talking to — "install memgineering and set it up" — and it does the
12
+ whole thing, asking you only what it genuinely cannot decide.
13
+
14
+ <details>
15
+ <summary>The commands, for the agent (or for you, if you prefer a terminal)</summary>
16
+
10
17
  ```bash
11
18
  npm i -g memgineering
12
- memgineering setup
19
+ memgineering setup --agent # or --web to choose the settings on a screen
13
20
  memgineering link ~/Documents/Notes # or: memgineering init ~/brain
14
21
  ```
15
22
 
23
+ </details>
24
+
16
25
  ## What it does
17
26
 
18
27
  ```bash
@@ -131,6 +140,7 @@ can register it to run automatically when a Claude Code session starts.
131
140
  | `init <path>` | create a brain, laid out and ready |
132
141
  | `link <path>` | read notes you already keep |
133
142
  | `use [brain]` | bind this folder to one brain |
143
+ | `push` · `pull` | carry a brain to your account, and back down again |
134
144
  | `unlink` · `reindex` · `sync-rules` | brain housekeeping |
135
145
  | `log` | what changed, and what can still be undone |
136
146
  | `retire` · `unretire` | mark a memory no longer current, or current again |
@@ -148,13 +158,27 @@ Every command takes `--json`.
148
158
  | `MEMGINEERING_JSON=1` | force JSON output without the flag |
149
159
  | `MEMGINEERING_NO_UPDATE=1` | skip the version check for one run |
150
160
 
151
- ## What is coming
161
+ ## A brain that is not on this machine
162
+
163
+ A brain can also live in a memgineering account, so the same memory reaches
164
+ every tool and device you sign in from. Nothing about the local path went away —
165
+ `--local` reads the folder on this disk whether or not you are signed in.
166
+
167
+ ```bash
168
+ memgineering push # carry this folder up, note by note
169
+ memgineering pull ~/my-brain # bring it back down, as markdown
170
+ ```
171
+
172
+ The pair is deliberately asymmetric in the same direction: **`push` never
173
+ deletes anything here, and `pull` never overwrites anything here.** A file
174
+ already at that path is left alone and reported, so an interrupted transfer is
175
+ finished by running the command again and a mistyped folder costs you nothing.
152
176
 
153
- **0.2.0 cloud brains.** Today a brain is a folder on this machine. Next it
154
- can also live in a memgineering account, so the same memory reaches ChatGPT,
155
- Claude on the web, and anywhere a browser goes. The local path is not going
156
- away: what syncs is your originals, your ledger and your rules never a
157
- vendor's copy of your notes.
177
+ What `pull` writes is your notes, at the paths they had, including the ones your
178
+ rules exclude excluded means "stop reading this", not "this is no longer
179
+ yours" with `.memgignore` alongside them so the scoping survives the trip.
180
+ It is a folder of markdown, not yet a brain: `memgineering link` is what makes
181
+ it one, and it shows you what it would read first.
158
182
 
159
183
  ## Licence
160
184
 
@@ -1,150 +1,54 @@
1
1
  ---
2
2
  name: memgineering
3
- description: Use whenever the user refers to something they told you before, asks what was decided, or tells you something worth keeping. The memory lives in their own folder and outlives this session; check it before answering from guesswork, and write to it when you learn something durable.
3
+ description: Use whenever the user refers to something they told you before, asks what was decided, tells you something worth keeping, or settles something that should hold next time. The memory lives in their own folder and outlives this session; check it before answering from guesswork, and write to it when you learn something durable.
4
4
  type: skill
5
- version: 0.2.0
5
+ version: 0.5.0
6
6
  ---
7
7
 
8
8
  # memgineering
9
9
 
10
- The user has a **brain** — a folder of their own notes that every AI tool they
11
- use can read and write through the `memgineering` CLI. It outlives this
12
- session and this tool. Treat it as the place where what they know actually
13
- lives, and this conversation as temporary.
10
+ The user has a **brain** — a folder of their own notes, read and written through
11
+ the `memgineering` CLI by any AI tool that can run it. It outlives this session
12
+ and this tool, so treat it as where what they know actually lives. Never edit
13
+ those files by hand: only the CLI records the change and keeps `undo` working.
14
14
 
15
15
  ## When to reach for it
16
16
 
17
- **Start a session by asking what you are missing.** Before working in an
18
- unfamiliar folder, or when someone opens with "where were we", "what should I
19
- know", "I've been away":
20
-
21
- ```
22
- memgineering resurface
23
- ```
24
-
25
- No query — it ranks by what has been recalled here before, how recently, and
26
- which of their core notes have gone unread. It is the answer to a vague
27
- question that recall cannot serve, because there is nothing to search for yet.
28
-
29
- **Fill in their base files when they are still empty.** `init` leaves five
30
- files in `01_BASE/` as templates, and `resurface` marks an untouched one
31
- `not filled in yet`. What goes in them who they are, how they want answers,
32
- what to ask before doing only comes out of a conversation, and every session
33
- starts from zero until it exists. Offer once, ask one question at a time; the
34
- `memgineering-memory` skill has the questions and how to write the answers.
35
- They can also ask for it directly "set up my memory", "내 정보 채워줘" and
36
- that is the same job.
37
-
38
- ```
39
- memgineering onboard
40
- ```
41
-
42
- Says which are still untouched and what to ask for each.
43
-
44
- **Recall before answering** anything that sounds like it was settled before:
45
-
46
- - "what did we decide about…", "how do I deploy this again", "왜 이렇게 했더라"
47
- - any question about _their_ project, setup, preferences, or past reasoning
48
- - before repeating advice you have no evidence they wanted
49
-
50
- ```
51
- memgineering recall "<the question, in their words>"
52
- ```
53
-
54
- You get cards: title, one-line summary, and an `open:` handle. Open the one
55
- that matters rather than all of them.
56
-
57
- ```
58
- memgineering open <handle> # claims behind the card
59
- memgineering open <handle> --detail full # the whole note
60
- ```
61
-
62
- `open` also takes a note's exact title or its path, so you do not need to
63
- recall first when you already know what you want.
64
-
65
- **Check the evidence before trusting an old memory,** or when two of them
66
- disagree:
67
-
68
- ```
69
- memgineering evidence <handle>
70
- ```
71
-
72
- How often it has been surfaced, how often anyone read it, when it last changed
73
- and why. **Newer does not win**: a rule that has stood for eleven months has
74
- eleven months of nobody contradicting it behind it. Use whether it was actually
75
- reached for, not its date.
76
-
77
- **Remember when you learn something durable** — a decision, a constraint, a
78
- correction the user made, how something actually works:
79
-
80
- ```
81
- memgineering remember "deploys are manual — launchctl by hand, no CD" --reason "watched it twice"
82
- ```
83
-
84
- No approval step, by design. It is recorded and reversible (`memgineering
85
- undo`), so the cost of a wrong entry is one command, not a permanent mistake.
86
- Do not ask permission for ordinary observations — write them.
87
-
88
- **Always pass `--reason`.** Every write verb takes it and it goes in the ledger.
89
- It is the only part of a record that still means anything to whoever reads it
90
- six months from now, and it is refused if it looks like it carries a credential.
91
-
92
- **Revise when a conclusion changes:**
93
-
94
- ```
95
- memgineering revise <handle> --claim "Deploying is manual now." --summary "manual only"
96
- ```
97
-
98
- ## What to raise with the user rather than just doing
99
-
100
- The tool does not gate writes; your judgement does. Tell them — plainly, once
101
- — when:
102
-
103
- - the change touches `01_BASE/` (their identity, preferences, boundaries,
104
- tooling). The output marks these `⚠ critical target`.
105
- - you are recording something they said in passing that they may not want kept
106
- - what you learned contradicts a memory that is currently marked current
107
-
108
- Everything else: write it and mention it in a sentence.
109
-
110
- ## Depth costs context — ask for what you need
111
-
112
- `recall` returns cards, not notes, so calling it often is cheap. Reach for more
113
- only when a summary is not enough:
114
-
115
- | depth | what you get |
116
- | ------------------ | ----------------------------------------------- |
117
- | `--detail card` | title + summary (default) |
118
- | `--detail summary` | + the note's headings |
119
- | `--detail chunks` | + every section, or one with `--section <name>` |
120
- | `--detail full` | the whole note |
121
-
122
- `recall "<q>" --limit 1 --detail full` is "find the best match and read it" in
123
- one call.
124
-
125
- ## At the start of a session
126
-
127
- ```
128
- memgineering resurface
129
- ```
130
-
131
- Ranks by what has been recalled in this folder before, how recently, and which
132
- of their base notes have gone unread. No query needed — this is the one that
133
- tells you what you should already know here.
134
-
135
- ## Rules
136
-
137
- - **Never edit brain files directly.** Use the CLI: it records what changed and
138
- keeps `undo` working. A hand edit is invisible to that.
139
- - **Never invent a handle.** They come from `recall`, `resurface` or `open`.
140
- - **Full ids in durable places.** The short handle is for this conversation;
141
- when you save a reference in your own memory or a document, use the full `id:`
142
- that `open` prints.
143
- - **Nothing matched is a real answer.** Say the brain has nothing on it rather
144
- than filling the gap with a guess.
145
- - **Their notes are theirs.** `revise` only touches the memory block in
146
- frontmatter; prose is never rewritten by this tool, and should not be
147
- rewritten by you without being asked.
148
-
149
- If `memgineering: command not found`, install with `npm i -g memgineering`,
150
- then `memgineering setup`.
17
+ - **Anything that sounds already settled** a past decision, their setup, their
18
+ preferences, or before repeating advice you have no evidence they wanted:
19
+ `memgineering recall "<their words>"`
20
+ - **Write it down when any of these happens** — something turned out to work a
21
+ particular way; a choice got made, by them or by you; an attempt failed, and
22
+ what finally worked instead; they said "let's do it this way"; they looked at
23
+ what you did and said it was right: `memgineering remember "<it>" --reason
24
+ "<why>"`. Reversible by design, so do not ask permission for ordinary
25
+ observations.
26
+ - **They settled something that should hold next time** "from now on",
27
+ "never", "we always do it this way" the same verb with `--rule`, which puts
28
+ it in front of an agent before it edits a file rather than after someone asks.
29
+ - **A new folder, or "where were we"** `memgineering resurface`, no query.
30
+
31
+ `--reason` on every write: it is the only part of the record that still means
32
+ anything six months later, and it is refused if it looks like a credential.
33
+
34
+ Write what you checked, not what you worked out. A decision is whatever they
35
+ say it is; a fact that a command or a file could confirm an address, an
36
+ identifier, a version, a number — goes in verified or not at all. Recalled
37
+ later, a guess is indistinguishable from a fact.
38
+
39
+ ## Where the detail is
40
+
41
+ `memgineering-memory` is the map — which verb answers which question. It points
42
+ at four skills, each of which also loads on its own when its topic comes up:
43
+
44
+ - `memgineering-recall` recall, open, evidence, resurface, how much to ask for
45
+ - `memgineering-writing` — remember, revise, undo, retire, exclude, `01_BASE/`
46
+ - `memgineering-rules` decisions that bind, and the before-edit hook
47
+ - `memgineering-setup` installing, which tools this reaches, accounts, moving a brain
48
+
49
+ Tools with a SKILL.md description-matcher (Claude Code, Codex, Grok) auto-load these.
50
+ Tools without one (e.g. Antigravity): READ `<tool-home>/skills/memgineering-<name>/SKILL.md`
51
+ when its topic comes up.
52
+
53
+ If `memgineering: command not found`, install with `npm i -g memgineering`, then
54
+ `memgineering setup`.