meetsoma 0.1.1 → 0.1.3
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 +64 -0
- package/README.md +40 -56
- package/dist/personality.js +7 -5
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,70 @@ All notable changes to Soma (`meetsoma` on npm).
|
|
|
4
4
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/). Versioning follows [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.1.3] — 2026-03-23
|
|
8
|
+
|
|
9
|
+
### New
|
|
10
|
+
|
|
11
|
+
- **Body architecture** — structured identity in `.soma/body/`. Create `soul.md` (who the agent is), `voice.md` (how it communicates), `body.md` (project context). Each file becomes a `{{variable}}` usable in templates.
|
|
12
|
+
- **Template engine** — `_mind.md` controls your system prompt structure. Add `{{soul}}`, `{{voice}}`, custom text. 5 modifiers: `|tldr`, `|section:Name`, `|lines:N`, `|last:N`, `|ref`.
|
|
13
|
+
- **Smart AMPS loading** — warm protocols and muscles now appear as `<available_skills>` entries (Claude's native format). Agent reads them on demand instead of loading everything into the prompt.
|
|
14
|
+
- **`/body` command** — inspect your template system. `check` (health report), `vars` (all variables), `map` (structure), `render` (full compiled prompt).
|
|
15
|
+
- **`/exit`** command — save state and quit cleanly.
|
|
16
|
+
- **`SOMA.md`** — new canonical identity file name. Replaces `identity.md` (still works as fallback).
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- **Boot messages** rewritten — "You woke up" instead of "You've booted into a session."
|
|
21
|
+
- **Auto-breathe** — agent no longer guesses context percentages. Trusts the system to prompt when it's time.
|
|
22
|
+
- **Muscle heat** — muscles gain heat when loaded at boot, not just when explicitly read.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **Stale conversation injection** — removed scanner that picked up old sessions from wrong runtime.
|
|
27
|
+
- **Identity frontmatter** — no longer leaks YAML into the system prompt.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## [0.1.2] — 2026-03-22
|
|
32
|
+
|
|
33
|
+
### New
|
|
34
|
+
|
|
35
|
+
- **`/hub` command** — install, fork, share, find, and browse community content from one command. Replaces `/install` and `/list`.
|
|
36
|
+
- **Drop-in commands** — add scripts to `.soma/amps/scripts/commands/` and they become `/soma <name>` commands instantly.
|
|
37
|
+
- **Community hub: 40 items** — protocols, muscles, scripts, automations, and templates. Browse at soma.gravicity.ai/hub.
|
|
38
|
+
- **Smart sharing** — `/hub share` runs quality checks, auto-fixes private paths, opens a PR to the community.
|
|
39
|
+
- **Multiple git emails** — `guard.gitIdentity.email` now accepts an array for multi-account users.
|
|
40
|
+
- **Preload improvements** — Weather (session tone) and Warnings (traps for next session) in default template.
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- `/install` and `/list` now redirect to `/hub install` and `/hub list`.
|
|
45
|
+
- Protocols that document built-in behavior no longer load into the prompt (saves ~2000 tokens).
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- `/hub list --remote` now works (flag was parsed as type filter).
|
|
50
|
+
|
|
51
|
+
## [0.6.2] — 2026-03-21
|
|
52
|
+
|
|
53
|
+
### New
|
|
54
|
+
|
|
55
|
+
- **Muscle heat from natural use.** Running scripts or editing files now bumps related muscles automatically — no `/pin` needed.
|
|
56
|
+
- **`soma doctor`** — checks workspace health, auto-fixes stale frontmatter, detects version drift.
|
|
57
|
+
- **Community sync on boot.** Missing protocols fetched from community repo automatically. Always current, works offline.
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
|
|
61
|
+
- **No more "Update Available" banner.** Runtime delegation fixed.
|
|
62
|
+
- **Fresh installs** now include version tracking in settings.json.
|
|
63
|
+
- Welcome flow is honest about being a personality engine, not the agent.
|
|
64
|
+
|
|
65
|
+
### Changed
|
|
66
|
+
|
|
67
|
+
- Muscle activation fields simplified — triggers, keywords, topic merged into single list. Old format still works.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
7
71
|
## [0.6.1] — 2026-03-20
|
|
8
72
|
|
|
9
73
|
### New
|
package/README.md
CHANGED
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
<br>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### σ Soma
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
*Memory isn't retrieval. Memory is change.*
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
<br>
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
npm install -g meetsoma
|
|
13
13
|
soma
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
<br>
|
|
17
|
+
|
|
18
|
+
[Docs](https://soma.gravicity.ai/docs) · [Blog](https://soma.gravicity.ai/blog) · [Hub](https://soma.gravicity.ai/hub) · [Source](https://soma.gravicity.ai/beta)
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
An AI coding agent that grows with you. Identity, protocols, and muscle memory — all evolving through use, not configuration.
|
|
25
|
+
|
|
26
|
+
Most agents forget everything between sessions. Soma doesn't.
|
|
17
27
|
|
|
18
28
|
## What Happens
|
|
19
29
|
|
|
20
|
-
|
|
30
|
+
On first run, you'll meet the personality engine — no AI, just sentence templates. It introduces Soma and lets you ask questions before committing. Press Enter to install.
|
|
21
31
|
|
|
22
32
|
```
|
|
23
33
|
σ
|
|
@@ -26,75 +36,49 @@ Run `soma` and you'll see a rotating concept about how the system works — and
|
|
|
26
36
|
|
|
27
37
|
❝ No compaction. Ever.
|
|
28
38
|
|
|
29
|
-
Other agents hit context limits and compact — squeezing your
|
|
30
|
-
entire session into a degraded summary. You wait while it
|
|
31
|
-
processes. Soma skips compaction entirely. When context gets
|
|
32
|
-
tight, the agent writes a briefing for its next self. Then
|
|
33
|
-
it starts fresh. Full context window. Zero wait. Nothing lost.
|
|
34
|
-
|
|
35
39
|
──────────────────────────────────────────────────────────
|
|
36
40
|
|
|
37
41
|
→ Enter Install Soma
|
|
38
42
|
→ ? Ask me something first
|
|
39
43
|
```
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
After install, run `soma` in any project. It creates `.soma/`, reads your codebase, and writes its own identity. By session two, it remembers.
|
|
42
46
|
|
|
43
47
|
## Commands
|
|
44
48
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
### After Install
|
|
57
|
-
|
|
58
|
-
| Command | What it does |
|
|
59
|
-
|---------|-------------|
|
|
60
|
-
| `soma` | Start a session |
|
|
61
|
-
| `soma focus <keyword>` | Start a focused session |
|
|
62
|
-
| `soma inhale` | Resume from last session's preload |
|
|
63
|
-
| `soma --map <name>` | Load a specific workflow |
|
|
64
|
-
|
|
65
|
-
## How It Works
|
|
66
|
-
|
|
67
|
-
**Identity** — The agent maintains a self-written identity file. It knows your project, your patterns, your preferences. This isn't configuration. It's self-knowledge.
|
|
68
|
-
|
|
69
|
-
**Protocols** — Behavioural rules that shape how the agent works. "Read before write." "Test before commit." They have heat — used ones stay hot, unused ones fade.
|
|
70
|
-
|
|
71
|
-
**Muscles** — Learned patterns. "Use esbuild for bundling." "This API uses OAuth." Muscles grow from corrections and repetition. Correct the agent twice and it crystallises a muscle — permanent learning.
|
|
72
|
-
|
|
73
|
-
**Breath Cycle** — Every session follows three phases. Inhale (load state) → Hold (work) → Exhale (save state). At context limits, the agent writes a preload for its next self — a briefing, not a summary. No compaction. No quality loss. Full context window every session.
|
|
49
|
+
```bash
|
|
50
|
+
soma # start a session
|
|
51
|
+
soma focus <keyword> # load relevant muscles + MAPs
|
|
52
|
+
soma inhale # resume from last session
|
|
53
|
+
soma --map <name> # load a workflow
|
|
54
|
+
|
|
55
|
+
soma init # install the runtime
|
|
56
|
+
soma doctor # check health
|
|
57
|
+
soma update # check for updates
|
|
58
|
+
```
|
|
74
59
|
|
|
75
|
-
|
|
60
|
+
## The Five Ideas
|
|
76
61
|
|
|
77
|
-
**
|
|
62
|
+
**Identity** — a self-written file. It knows your project, your patterns, your stack.
|
|
78
63
|
|
|
79
|
-
|
|
64
|
+
**Protocols** — behavioral rules. "Read before write." Hot ones load. Cold ones fade.
|
|
80
65
|
|
|
81
|
-
|
|
66
|
+
**Muscles** — learned patterns. Correct it twice → permanent learning.
|
|
82
67
|
|
|
83
|
-
|
|
84
|
-
- **Docs:** [soma.gravicity.ai/docs](https://soma.gravicity.ai/docs)
|
|
68
|
+
**Breath** — inhale, work, exhale. No compaction. Full context every session.
|
|
85
69
|
|
|
86
|
-
|
|
70
|
+
**Heat** — attention management. Used things stay. Unused things cool.
|
|
87
71
|
|
|
88
72
|
## Requirements
|
|
89
73
|
|
|
90
|
-
- Node.js ≥ 20.6
|
|
74
|
+
- Node.js ≥ 20.6
|
|
91
75
|
- git
|
|
92
|
-
-
|
|
76
|
+
- API key (Anthropic, Google, or OpenAI)
|
|
93
77
|
|
|
94
|
-
|
|
78
|
+
---
|
|
95
79
|
|
|
96
|
-
|
|
80
|
+
<div align="center">
|
|
97
81
|
|
|
98
|
-
|
|
82
|
+
<sub>BSL 1.1 © Curtis Mercier — open source 2027</sub>
|
|
99
83
|
|
|
100
|
-
|
|
84
|
+
</div>
|
package/dist/personality.js
CHANGED
|
@@ -199,11 +199,11 @@ function spin(text) {
|
|
|
199
199
|
const TOPICS = {
|
|
200
200
|
|
|
201
201
|
what_is_soma: [
|
|
202
|
-
`Soma is an AI coding agent that {grows with you|evolves through use|learns as you work}. {It remembers across sessions|It doesn't forget between sessions|Sessions build on each other} — not by {storing chat logs|saving transcripts|keeping message history}, but by {evolving its own|reshaping its|growing its} working patterns {through use|over time|with each session}.`,
|
|
202
|
+
`Soma is an AI coding agent that {grows with you|evolves through use|learns as you work}. {It remembers across sessions|It doesn't forget between sessions|Sessions build on each other} — not by {storing chat logs|saving transcripts|keeping message history}, but by {evolving its own|reshaping its|growing its} working patterns {through use|over time|with each session}. {And this?|What you're talking to?|Me?} {I'm just the greeter|I'm the welcome mat|I'm not the agent} — {Soma built this personality engine to say hello|a few hundred lines of templates, no AI|the real thing starts with} ${"`soma init`"}.`,
|
|
203
203
|
|
|
204
|
-
`{Think of it this way|Here's the short version|In a sentence}: most agents {start fresh every time|forget everything between runs|have no continuity}. Soma {doesn't|doesn't do that|remembers}. It maintains an identity, {builds|develops|grows} muscle memory, and {writes|leaves|creates} briefings for its {next self|future self|next session}.`,
|
|
204
|
+
`{Think of it this way|Here's the short version|In a sentence}: most agents {start fresh every time|forget everything between runs|have no continuity}. Soma {doesn't|doesn't do that|remembers}. It maintains an identity, {builds|develops|grows} muscle memory, and {writes|leaves|creates} briefings for its {next self|future self|next session}. {I'm not it, by the way|I'm just the lobby|This conversation is pre-recorded, in a sense} — {run|try} ${"`soma init`"} {to meet the real agent|to see it in action|for the actual experience}.`,
|
|
205
205
|
|
|
206
|
-
`An AI agent with {self-growing|self-evolving|persistent} memory. {Identity|Who it is}, {protocols|how it behaves}, and {muscles|what it's learned} — all {evolving|adapting|shifting} based on {what you actually do|how you actually work|real usage}, not {configuration|config files|settings you set once and forget}.`,
|
|
206
|
+
`An AI agent with {self-growing|self-evolving|persistent} memory. {Identity|Who it is}, {protocols|how it behaves}, and {muscles|what it's learned} — all {evolving|adapting|shifting} based on {what you actually do|how you actually work|real usage}, not {configuration|config files|settings you set once and forget}. {You're not talking to it right now, though|This isn't the agent — I'm just the intro|I'm Soma's personality engine, not Soma}. {The real thing awaits after|Get started with|Install via} ${"`soma init`"}.`,
|
|
207
207
|
],
|
|
208
208
|
|
|
209
209
|
how_memory_works: [
|
|
@@ -278,7 +278,9 @@ const TOPICS = {
|
|
|
278
278
|
],
|
|
279
279
|
|
|
280
280
|
how_to_try: [
|
|
281
|
-
`{
|
|
281
|
+
`{This conversation?|What you're talking to right now?|Me?} I'm {not the agent|not Soma|just the greeting}. {I'm a personality engine|I'm a few hundred lines of JavaScript|I'm sentence templates} — {Soma built me to say hello|built to hold the door open|here to introduce you}. {No AI, no model, no transformer|Zero intelligence, maximum charm|Just words in boxes, honestly}. {The real Soma|The actual agent|What you'd install} — that one {learns your patterns|remembers across sessions|grows with every session}. {Run|Try} ${"`soma init`"} to {meet the real thing|get started|see the difference}.`,
|
|
282
|
+
|
|
283
|
+
`{I'm not the agent|This isn't Soma|Don't confuse me with the real thing}. {I'm the welcome mat|I'm the lobby|I hold the door open}. {Soma built this personality engine|The agent wrote me|I was crafted} to {give you a feel for the voice|introduce myself before you commit|say hello without burning an API call}. {The actual agent|What you'll get with soma init|The real experience} is {an AI that remembers|a coding partner with memory|something genuinely different}. {But that's not me|I'm just templates|I'm the appetiser, not the meal}.`,
|
|
282
284
|
],
|
|
283
285
|
|
|
284
286
|
// ── Edge cases ─────────────────────────────────────────────────────
|
|
@@ -320,7 +322,7 @@ const TOPICS = {
|
|
|
320
322
|
],
|
|
321
323
|
|
|
322
324
|
meta_impressed: [
|
|
323
|
-
`{Thanks|Appreciate it|That means something}. {
|
|
325
|
+
`{Thanks|Appreciate it|That means something}. {But I'm the easy part|I'm just sentence templates|I'm the simple one}. {The actual agent|The real Soma|What you'd use day to day} — {it writes its own tools|it maintains its own identity|it remembers what you taught it three sessions ago}. {Soma built me to hold the door open|I was crafted to make introductions|The agent made this greeting engine}. {Run soma init to meet the real thing|Try it — soma init|It gets better from here}.`,
|
|
324
326
|
],
|
|
325
327
|
|
|
326
328
|
meta_how_work: [
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meetsoma",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Soma
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Soma \u2014 the AI coding agent with self-growing memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"soma": "dist/thin-cli.js"
|
|
@@ -37,4 +37,4 @@
|
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=20.6.0"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|