nativesoul 0.1.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 +43 -0
- package/LICENSE +19 -0
- package/README.md +384 -0
- package/dist/packages/cli/src/index.js +1066 -0
- package/dist/packages/core/src/secret-patterns.json +25 -0
- package/dist/packages/mcp-server/src/index.js +782 -0
- package/docs/adr/ADR-001-node-first-runtime.md +20 -0
- package/docs/adr/ADR-002-workspace-and-state.md +16 -0
- package/docs/adr/ADR-003-schemas-and-adapter-sdk.md +15 -0
- package/docs/adr/ADR-004-policy-leases-and-heartbeat.md +15 -0
- package/docs/adr/ADR-005-privacy-export-delete-and-supply-chain.md +16 -0
- package/docs/adr/ADR-006-adapter-preview-before-install.md +21 -0
- package/docs/adr/ADR-007-managed-block-backup-and-rollback.md +16 -0
- package/docs/adr/ADR-008-mcp-registration-manifest-before-write.md +16 -0
- package/docs/adr/ADR-009-local-capability-registry.md +16 -0
- package/docs/adr/ADR-010-mcp-capability-tools-read-only.md +15 -0
- package/docs/adr/ADR-011-local-audit-cli-export.md +16 -0
- package/docs/adr/ADR-012-npm-package-runtime-scope.md +16 -0
- package/docs/adr/ADR-013-core-domain-ledger-v1.md +16 -0
- package/docs/adr/ADR-014-memory-lifecycle-v1.md +16 -0
- package/docs/adr/ADR-015-policy-standing-orders-v1.md +16 -0
- package/docs/adr/ADR-016-heartbeat-lease-idempotency-v1.md +16 -0
- package/docs/adr/ADR-017-reversible-mcp-registration-install.md +17 -0
- package/docs/adr/ADR-018-schedule-reconcile-guardrails-v1.md +17 -0
- package/docs/adr/ADR-019-commitments-lifecycle-v1.md +17 -0
- package/docs/adr/ADR-020-mcp-memory-lifecycle-tools.md +16 -0
- package/docs/adr/ADR-021-unified-install-orchestrator-v1.md +17 -0
- package/docs/adr/ADR-022-unified-uninstall-orchestrator-v1.md +20 -0
- package/docs/adr/ADR-023-deep-doctor-install-readiness-v1.md +18 -0
- package/docs/adr/ADR-024-capability-learn-cards-v1.md +18 -0
- package/docs/adr/ADR-025-bootstrap-capability-card-recall-v1.md +18 -0
- package/docs/adr/ADR-026-managed-block-bootstrap-handshake-v1.md +18 -0
- package/docs/adr/ADR-027-local-release-manifest-checksum-v1.md +17 -0
- package/docs/adr/ADR-028-openclaw-workspace-templates-v1.md +47 -0
- package/docs/adr/ADR-029-host-guided-onboarding-v1.md +98 -0
- package/docs/adr/ADR-030-host-surface-matrix-v1.md +93 -0
- package/docs/adr/ADR-031-host-parity-matrix-v2.md +91 -0
- package/docs/adr/ADR-032-nativesoul-hard-cut-rebrand.md +54 -0
- package/docs/adr/ADR-033-local-hybrid-memory-reflection.md +49 -0
- package/docs/adr/ADR-034-memory-importers-provenance.md +38 -0
- package/docs/adr/ADR-035-policy-pack-apply-rollback.md +34 -0
- package/docs/adr/ADR-036-local-operator-dashboard-readonly.md +38 -0
- package/docs/adr/ADR-037-full-native-evidence-contract.md +45 -0
- package/docs/adr/ADR-038-identity-vs-activation-onboarding.md +39 -0
- package/docs/adr/ADR-039-entitlements-offline-licensing.md +47 -0
- package/docs/adr/ADR-040-proprietary-free-to-install-distribution.md +52 -0
- package/docs/adr/ADR-041-project-identity-and-lightweight-registry.md +35 -0
- package/docs/adr/ADR-042-control-plane-direction-and-deferral.md +80 -0
- package/docs/adr/ADR-043-versioning-and-release-policy.md +60 -0
- package/docs/adr/ADR-044-pro-awareness-and-upgrade-nudge-policy.md +53 -0
- package/docs/adr/ADR-045-paid-only-closed-distribution.md +55 -0
- package/docs/legal/EULA.md +70 -0
- package/llm-install.txt +222 -0
- package/package.json +61 -0
- package/plugins/antigravity-nativesoul/GEMINI.md +17 -0
- package/plugins/antigravity-nativesoul/commands/nativesoul-explore.md +22 -0
- package/plugins/antigravity-nativesoul/commands/nativesoul-heartbeat.md +9 -0
- package/plugins/antigravity-nativesoul/commands/nativesoul-plan.md +23 -0
- package/plugins/antigravity-nativesoul/commands/nativesoul-recall.md +16 -0
- package/plugins/antigravity-nativesoul/commands/nativesoul-start.md +9 -0
- package/plugins/antigravity-nativesoul/hooks.json +59 -0
- package/plugins/antigravity-nativesoul/mcp_config.json +8 -0
- package/plugins/antigravity-nativesoul/nativesoul-package.json +22 -0
- package/plugins/antigravity-nativesoul/plugin.json +5 -0
- package/plugins/claude-nativesoul/.claude-plugin/plugin.json +90 -0
- package/plugins/claude-nativesoul/hooks/loader.cjs +23 -0
- package/plugins/claude-nativesoul/hooks/memory-flush.cjs +45 -0
- package/plugins/claude-nativesoul/hooks/pre-tool-use.cjs +53 -0
- package/plugins/claude-nativesoul/hooks/session-start.cjs +108 -0
- package/plugins/claude-nativesoul/hooks/user-prompt-submit.cjs +62 -0
- package/plugins/claude-nativesoul/skills/life-explore/SKILL.md +19 -0
- package/plugins/claude-nativesoul/skills/life-heartbeat/SKILL.md +16 -0
- package/plugins/claude-nativesoul/skills/life-plan/SKILL.md +23 -0
- package/plugins/claude-nativesoul/skills/life-recall/SKILL.md +18 -0
- package/plugins/claude-nativesoul/skills/life-start/SKILL.md +13 -0
- package/plugins/codex-nativesoul/.codex-plugin/plugin.json +83 -0
- package/plugins/codex-nativesoul/.mcp.json +8 -0
- package/plugins/codex-nativesoul/hooks/loader.cjs +23 -0
- package/plugins/codex-nativesoul/hooks/memory-flush.cjs +45 -0
- package/plugins/codex-nativesoul/hooks/pre-tool-use.cjs +53 -0
- package/plugins/codex-nativesoul/hooks/session-start.cjs +119 -0
- package/plugins/codex-nativesoul/hooks/user-prompt-submit.cjs +62 -0
- package/plugins/codex-nativesoul/skills/life-explore/SKILL.md +24 -0
- package/plugins/codex-nativesoul/skills/life-heartbeat/SKILL.md +21 -0
- package/plugins/codex-nativesoul/skills/life-plan/SKILL.md +28 -0
- package/plugins/codex-nativesoul/skills/life-recall/SKILL.md +23 -0
- package/plugins/codex-nativesoul/skills/life-start/SKILL.md +18 -0
- package/plugins/gemini-nativesoul/GEMINI.md +17 -0
- package/plugins/gemini-nativesoul/commands/nativesoul-explore.toml +3 -0
- package/plugins/gemini-nativesoul/commands/nativesoul-heartbeat.toml +2 -0
- package/plugins/gemini-nativesoul/commands/nativesoul-plan.toml +3 -0
- package/plugins/gemini-nativesoul/commands/nativesoul-recall.toml +3 -0
- package/plugins/gemini-nativesoul/commands/nativesoul-start.toml +2 -0
- package/plugins/gemini-nativesoul/gemini-extension.json +16 -0
- package/plugins/gemini-nativesoul/hooks/hooks.json +59 -0
- package/plugins/grok-nativesoul/.mcp.json +8 -0
- package/plugins/grok-nativesoul/AGENTS.md +17 -0
- package/plugins/grok-nativesoul/commands/nativesoul-explore.md +22 -0
- package/plugins/grok-nativesoul/commands/nativesoul-heartbeat.md +9 -0
- package/plugins/grok-nativesoul/commands/nativesoul-plan.md +23 -0
- package/plugins/grok-nativesoul/commands/nativesoul-recall.md +16 -0
- package/plugins/grok-nativesoul/commands/nativesoul-start.md +9 -0
- package/plugins/grok-nativesoul/hooks/hooks.json +59 -0
- package/plugins/grok-nativesoul/nativesoul-package.json +22 -0
- package/plugins/grok-nativesoul/plugin.json +5 -0
- package/plugins/shared/hooks/host-hook.cjs +207 -0
- package/plugins/shared/hooks/lib.cjs +279 -0
- package/plugins/shared/hooks/policy-fail-closed.cjs +95 -0
- package/policy-packs/local-readonly.json +47 -0
- package/policy-packs/team-review.json +49 -0
- package/schemas/audit-event.schema.json +18 -0
- package/schemas/capability-card.schema.json +37 -0
- package/schemas/capability.schema.json +25 -0
- package/schemas/commitment.schema.json +19 -0
- package/schemas/full-native-evidence.schema.json +82 -0
- package/schemas/lease.schema.json +16 -0
- package/schemas/memory.schema.json +31 -0
- package/schemas/migration.schema.json +14 -0
- package/schemas/policy-pack.schema.json +96 -0
- package/schemas/schedule.schema.json +16 -0
- package/schemas/session.schema.json +16 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to NativeSoul are documented here.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
Versioning and release policy: [ADR-043](docs/adr/ADR-043-versioning-and-release-policy.md).
|
|
8
|
+
|
|
9
|
+
Each release lists product changes so a buyer can verify which features a given
|
|
10
|
+
major delivers (the "verify, don't trust" pillar). NativeSoul is a single paid
|
|
11
|
+
product after ADR-045; there is no Free/Pro split.
|
|
12
|
+
|
|
13
|
+
## [Unreleased]
|
|
14
|
+
|
|
15
|
+
### Product
|
|
16
|
+
- _Nothing yet._
|
|
17
|
+
|
|
18
|
+
## [0.1.0] — 2026-06-23
|
|
19
|
+
|
|
20
|
+
Initial pre-1.0 (`@beta`) baseline. Local-first continuity layer for coding
|
|
21
|
+
agents: CLI (`nativesoul`) + MCP stdio server (`nativesoul-mcp`), workspace at
|
|
22
|
+
`~/.nativesoul/`. Zero runtime dependencies (`dependencies: {}`); no daemon, no
|
|
23
|
+
telemetry, never copies credentials.
|
|
24
|
+
|
|
25
|
+
### Product
|
|
26
|
+
- Identity bootstrap, project-scoped memory (recall/propose/promote), policy
|
|
27
|
+
evaluation, heartbeat, capability scan, host install/detection across the
|
|
28
|
+
supported hosts. (Epics 0–17, all Done — see `docs/stories/INDEX.md`.)
|
|
29
|
+
- Paid-only Dodo licensing: `licensed | unlicensed` boot gate, license
|
|
30
|
+
activation/status/deactivation, once-a-day validation cache, offline grace,
|
|
31
|
+
update entitlement metadata, and marketing-audit guardrails. (EPIC-018 Done.)
|
|
32
|
+
- Project management CLI: registry/backfill, `project list/show`, path-stability
|
|
33
|
+
marker, rename/alias, archive/reactivate, and guarded forget lifecycle.
|
|
34
|
+
(EPIC-019 Done.)
|
|
35
|
+
- Approval gate: approval domain, CLI, MCP tools, standing-order auto-approval,
|
|
36
|
+
and audit events while preserving side-effect-free policy evaluation.
|
|
37
|
+
(EPIC-020 Done.)
|
|
38
|
+
- Closed npm distribution remains in launch prep under EPIC-024; this beta
|
|
39
|
+
package uses minified runtime entrypoints and release audit/provenance gates.
|
|
40
|
+
|
|
41
|
+
<!-- Version links omitted intentionally: NativeSoul is proprietary and closed
|
|
42
|
+
(ADR-045), not a public OSS repo — compare/release URLs would not resolve for
|
|
43
|
+
installers. Versions are tagged in the private repo for the team. -->
|
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
NativeSoul — Proprietary License (Closed, Paid)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fillipe Cordeiro / InnoDev. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software is proprietary, closed-source, and paid. It is NOT open source,
|
|
6
|
+
NOT source-available, and has NO free tier.
|
|
7
|
+
|
|
8
|
+
- Use requires a valid paid license ($29 one-time; 1 year of updates; perpetual
|
|
9
|
+
build), activated with `nativesoul license activate <key>`, subject to the
|
|
10
|
+
End User License Agreement. 30-day money-back guarantee.
|
|
11
|
+
- You may NOT fork, redistribute, sublicense, sell, decompile, reverse-engineer,
|
|
12
|
+
or create derivative works for distribution.
|
|
13
|
+
- You may NOT circumvent or tamper with the licensing mechanism, nor share keys.
|
|
14
|
+
|
|
15
|
+
Full terms: see docs/legal/EULA.md
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. See EULA.
|
|
18
|
+
|
|
19
|
+
For licensing questions: <contact pending — fill before npm publish>
|
package/README.md
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
<h1 align="center">NativeSoul</h1>
|
|
2
|
+
|
|
3
|
+
<p align="center"><strong>A coding agent that's actually yours.</strong></p>
|
|
4
|
+
|
|
5
|
+
<p align="center">Shape how it talks and works once, and the same agent shows up in every tool you open — with a durable memory of your projects, an honest inventory of what actually works, and follow-ups you can trust. Local-first. One prompt to install.</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="#quick-start">Quick Start</a> ·
|
|
9
|
+
<a href="#first-run-walkthrough">First Run</a> ·
|
|
10
|
+
<a href="#command-reference">Commands</a> ·
|
|
11
|
+
<a href="#mcp-tools">MCP Tools</a> ·
|
|
12
|
+
<a href="#pricing">Pricing</a> ·
|
|
13
|
+
<a href="#dont-trust-us-check-us">Verify It</a> ·
|
|
14
|
+
<a href="https://native-soul.mintlify.site/">Help Center</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<img src="https://img.shields.io/badge/local--first-on%20your%20machine-0d9488" alt="Local-first">
|
|
19
|
+
<img src="https://img.shields.io/badge/no%20daemon-no%20background%20process-475569" alt="No daemon">
|
|
20
|
+
<img src="https://img.shields.io/badge/no%20usage%20telemetry-verifiable-475569" alt="No usage telemetry">
|
|
21
|
+
<img src="https://img.shields.io/badge/credentials-never%20copied-475569" alt="Never copies credentials">
|
|
22
|
+
<img src="https://img.shields.io/badge/node-%3E%3D22.17-339933?logo=node.js&logoColor=white" alt="Node >= 22.17">
|
|
23
|
+
<img src="https://img.shields.io/badge/license-proprietary%20(closed%2C%20paid)-8957E5" alt="Proprietary, closed, paid">
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
NativeSoul is a **local-first continuity layer for coding agents**. If you run more than one coding assistant — Claude Code, Codex, Gemini CLI, Grok, Antigravity — you start over every session: re-pasting context, re-explaining decisions, and trusting integrations that quietly break. NativeSoul installs, with **one prompt**, a layer that gives your agent an **identity you shape**, a **searchable memory of your work**, **safe follow-ups**, and an **honest capability inventory** — and carries all of it across every host you use.
|
|
29
|
+
|
|
30
|
+
It runs entirely on your machine (`~/.nativesoul/`), keeps **no background process**, **never copies your credentials**, and sends **no usage telemetry** — your code and memory never leave your machine. The only network call is a **once-a-day license check** that sends nothing but your license key, written to the audit log. You can read your own files, run one health check, and remove it cleanly at any time. It doesn't fake it — a capability only reads "ready" after it passes a real auth and health check.
|
|
31
|
+
|
|
32
|
+
> **Proprietary, closed-source, paid — not open source, no free tier.** NativeSoul is **$29 one-time** (1 year of updates, perpetual build, 30-day money-back). You may not fork, redistribute, decompile, or create derivative works. See [License](#license).
|
|
33
|
+
|
|
34
|
+
<p align="center">
|
|
35
|
+
<img src="docs/assets/nativesoul-architecture.svg" alt="NativeSoul architecture — one identity, native across every host" width="100%">
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Every session, you start over. It doesn't have to be that way.
|
|
41
|
+
|
|
42
|
+
| Today | With NativeSoul |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| You paste the same context again, every session | It already knows who you are and how you work |
|
|
45
|
+
| The agent forgets what you decided an hour ago | Your decisions stick, session after session |
|
|
46
|
+
| Switch tools and you start from zero | The same agent follows you into every tool |
|
|
47
|
+
| It says an integration is connected, then it breaks | It tells you the truth about what actually works |
|
|
48
|
+
| You hold it all together by hand | You go back to building |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Requirements
|
|
53
|
+
|
|
54
|
+
- **Node.js 22.17+**
|
|
55
|
+
- An npm-compatible package manager
|
|
56
|
+
- One or more supported coding hosts (see [Host Readiness](#host-readiness))
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Quick Start
|
|
61
|
+
|
|
62
|
+
> **Note on distribution.** NativeSoul is a proprietary, **closed** package (minified `dist/`, private repo) published to npm as a **paid** product. The public `npm publish` is pending, so today you install via the **host prompt** (recommended) or a **local tarball** (for testing). `npm install -g nativesoul` will be the path once published — usage requires an activated license (`nativesoul license activate <key>`).
|
|
63
|
+
|
|
64
|
+
### Option A — Host-first install (recommended)
|
|
65
|
+
|
|
66
|
+
Paste **one short prompt** into your coding host. The host reads [`llm-install.txt`](llm-install.txt) and runs the full install + onboarding for you.
|
|
67
|
+
|
|
68
|
+
- Prompt: [`docs/prompts/install-nativesoul-v1.md`](docs/prompts/install-nativesoul-v1.md)
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
Install NativeSoul on this machine.
|
|
72
|
+
|
|
73
|
+
Read and follow llm-install.txt completely before doing anything:
|
|
74
|
+
- repo root: ./llm-install.txt
|
|
75
|
+
- or after npm install: $(npm root -g)/nativesoul/llm-install.txt
|
|
76
|
+
|
|
77
|
+
Execute Phase 1 (install) and Phase 2 (onboarding) exactly as defined there.
|
|
78
|
+
Use the host question UI to ask if I want onboarding — if I say yes, continue in this same session.
|
|
79
|
+
Do not invent steps outside llm-install.txt.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The installer writes NativeSoul to **global host surfaces** (`~/.claude`, `~/.codex`, `~/.gemini`, Grok, Antigravity, and equivalent plugin/config locations) via `nativesoul install --all-hosts --apply`, so continuity works across every project. It **always dry-runs first** and waits for your approval before mutating any real config. After install it asks if you want onboarding — answer the ~5 questions and your agent is shaped.
|
|
83
|
+
|
|
84
|
+
### Option B — Local install (CLI, for testing)
|
|
85
|
+
|
|
86
|
+
```sh
|
|
87
|
+
npm install
|
|
88
|
+
npm run build
|
|
89
|
+
npm run package:local
|
|
90
|
+
|
|
91
|
+
PREFIX="$(pwd)/.artifacts/local-prefix"
|
|
92
|
+
HOME_DIR="$(pwd)/.artifacts/local-home"
|
|
93
|
+
TARBALL="$(ls .artifacts/package/nativesoul-*.tgz | tail -n 1)"
|
|
94
|
+
|
|
95
|
+
# verify checksum, then install into a local prefix
|
|
96
|
+
(cd .artifacts/package && shasum -a 256 -c "$(basename "$TARBALL").sha256")
|
|
97
|
+
npm install -g --prefix "$PREFIX" "$TARBALL"
|
|
98
|
+
|
|
99
|
+
"$PREFIX/bin/nativesoul" init --home "$HOME_DIR"
|
|
100
|
+
"$PREFIX/bin/nativesoul" status --home "$HOME_DIR" --json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
> **Test against a temp host root first.** Use `install --target-root "$(mktemp -d)"` to exercise the Claude/Codex/Gemini/Grok/Antigravity integration files in a throwaway folder before touching your real host config. Dry-run (no `--apply`) → review the JSON report → then `--apply`.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## First Run Walkthrough
|
|
108
|
+
|
|
109
|
+
Real output from `nativesoul` (Node 22, fresh `--home`):
|
|
110
|
+
|
|
111
|
+
**1. Initialize the local workspace**
|
|
112
|
+
|
|
113
|
+
```console
|
|
114
|
+
$ nativesoul init --home ~/.nativesoul
|
|
115
|
+
NativeSoul initialized at <nativesoul-home>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**2. Check status (everything is local)**
|
|
119
|
+
|
|
120
|
+
```console
|
|
121
|
+
$ nativesoul status --json
|
|
122
|
+
{
|
|
123
|
+
"home": "<nativesoul-home>",
|
|
124
|
+
"initialized": true,
|
|
125
|
+
"database": "<nativesoul-home>/state/nativesoul.sqlite",
|
|
126
|
+
"migrations": 4,
|
|
127
|
+
"memories": 0,
|
|
128
|
+
"events": 1,
|
|
129
|
+
"capabilities": 0,
|
|
130
|
+
"ledger": { "hosts": 0, "sessions": 0, "commitments": 0, "schedules": 0, "leases": 0, "runs": 0 }
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**3. One-command health check**
|
|
135
|
+
|
|
136
|
+
```console
|
|
137
|
+
$ nativesoul doctor
|
|
138
|
+
NativeSoul healthy at <nativesoul-home>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**4. Remember a decision, then find it**
|
|
142
|
+
|
|
143
|
+
```console
|
|
144
|
+
$ nativesoul memory add --text "Use Node-first for the MVP." --project demo
|
|
145
|
+
Memory added: mem_c7470a4c-f174-4043-a33c-669622ca4f10
|
|
146
|
+
|
|
147
|
+
$ nativesoul memory search "Node-first" --project demo
|
|
148
|
+
1 memory found
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**5. Everything it did is auditable**
|
|
152
|
+
|
|
153
|
+
```console
|
|
154
|
+
$ nativesoul audit list --limit 3
|
|
155
|
+
3 audit event(s)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> Add `--json` to any command for structured output. Every command supports `--home <path>` to point at an alternate workspace.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Workspace
|
|
163
|
+
|
|
164
|
+
`nativesoul init` seeds an OpenClaw-inspired workspace under `~/.nativesoul/` (override with `--home`):
|
|
165
|
+
|
|
166
|
+
| File / Dir | Purpose |
|
|
167
|
+
| --- | --- |
|
|
168
|
+
| `SOUL.md` | Voice and boundaries — **protected**; propose changes only |
|
|
169
|
+
| `IDENTITY.md` | Name, creature, vibe, emoji, mission |
|
|
170
|
+
| `USER.md` | Your preferences and collaboration style |
|
|
171
|
+
| `AGENTS.md` | Operating instructions injected into every host session |
|
|
172
|
+
| `MEMORY.md` | Curated long-term memory (SQLite FTS5 remains the searchable source) |
|
|
173
|
+
| `HEARTBEAT.md` | Heartbeat / follow-up state |
|
|
174
|
+
| `POLICY.md` | Risk policy — **protected**; propose changes only |
|
|
175
|
+
| `TOOLS.md` | Capability/tool notes |
|
|
176
|
+
| `BOOTSTRAP.md` | First-run onboarding ritual — delete when done |
|
|
177
|
+
| `memory/daily/YYYY-MM-DD.md` | Daily working notes |
|
|
178
|
+
| `standing-orders/*.yaml` | Persistent authority scaffolds |
|
|
179
|
+
| `state/nativesoul.sqlite` | Memory (FTS5), capabilities, leases, schedules, runs |
|
|
180
|
+
| `logs/audit.jsonl` | Append-only audit log (`0600`) |
|
|
181
|
+
| `generated/`, `backups/`, `proposals/` | Dashboard output, reversible snapshots, pending proposals |
|
|
182
|
+
|
|
183
|
+
Guide: [`docs/framework/workspace-templates.md`](docs/framework/workspace-templates.md)
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Command Reference
|
|
188
|
+
|
|
189
|
+
`nativesoul <command> [--home <path>] [--json]` — full help: `nativesoul` (no args) prints every command.
|
|
190
|
+
|
|
191
|
+
### Core
|
|
192
|
+
|
|
193
|
+
```sh
|
|
194
|
+
nativesoul init # seed the local workspace
|
|
195
|
+
nativesoul status --json # local state snapshot
|
|
196
|
+
nativesoul doctor # one-command health check
|
|
197
|
+
nativesoul doctor --deep --all-hosts --json # per-host deep diagnostics
|
|
198
|
+
nativesoul bootstrap --host claude --cwd "$PWD" # resume identity + memory for a session
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Install / uninstall (reversible)
|
|
202
|
+
|
|
203
|
+
```sh
|
|
204
|
+
nativesoul install --all-hosts --json # dry-run: review the plan
|
|
205
|
+
nativesoul install --all-hosts --apply --json # apply: managed blocks + MCP + plugins
|
|
206
|
+
nativesoul uninstall --all-hosts --apply --json # roll back host integration
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
`install --apply` registers MCP servers, inserts **reversible managed blocks**, enables host plugins from `plugins/*-nativesoul/` (SessionStart bootstrap hooks), and deploys heartbeat skills. It never runs a daemon, reloads hosts, copies credentials, calls external services, or auto-creates native schedulers without operator setup.
|
|
210
|
+
|
|
211
|
+
### Memory
|
|
212
|
+
|
|
213
|
+
```sh
|
|
214
|
+
nativesoul memory add --text "..." --project demo
|
|
215
|
+
nativesoul memory propose --text "..." --project demo # candidate (promoted on review)
|
|
216
|
+
nativesoul memory promote <id> # promote a candidate
|
|
217
|
+
nativesoul memory search "<query>" --project demo
|
|
218
|
+
nativesoul memory reflect --project demo --apply # dedupe + consolidation pass
|
|
219
|
+
nativesoul memory export --project demo --json
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Follow-ups (idempotent heartbeat)
|
|
223
|
+
|
|
224
|
+
```sh
|
|
225
|
+
nativesoul commitments create --summary "Follow up on X." --project demo
|
|
226
|
+
nativesoul commitments list --project demo --json
|
|
227
|
+
nativesoul heartbeat claim --slot demo --project demo # lease: runs once, even with 2 agents
|
|
228
|
+
nativesoul heartbeat complete --slot demo --project demo
|
|
229
|
+
nativesoul schedule reconcile --host codex --mode leader # align with the host's native scheduler
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Capabilities & policy (honest inventory)
|
|
233
|
+
|
|
234
|
+
```sh
|
|
235
|
+
nativesoul capabilities refresh --host all --json
|
|
236
|
+
nativesoul capabilities list --host claude --ready-only --json
|
|
237
|
+
nativesoul policy evaluate --action deploy --class external_write --json
|
|
238
|
+
nativesoul audit list --json
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Operator features (M7+)
|
|
242
|
+
|
|
243
|
+
```sh
|
|
244
|
+
nativesoul dashboard viewer --json # generate a local read-only HTML panel
|
|
245
|
+
nativesoul import openclaw --source <path> --dry-run --json
|
|
246
|
+
nativesoul import native --host codex --source <path> --dry-run --json
|
|
247
|
+
nativesoul policy packs list --json
|
|
248
|
+
nativesoul onboard activation status --json
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
> **Hybrid recall is lexical today.** It blends FTS5 full-text with **local token-similarity ranking** — not real vector embeddings. We say "hybrid recall," never "semantic." See [`docs/architecture/entitlements-free-pro-design-v1.md`](docs/architecture/entitlements-free-pro-design-v1.md).
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## MCP Tools
|
|
256
|
+
|
|
257
|
+
NativeSoul ships an MCP **stdio** server (`nativesoul-mcp`) so any MCP-capable host can call these tools. It starts on demand — there is no long-running process.
|
|
258
|
+
|
|
259
|
+
| Tool | Purpose |
|
|
260
|
+
| --- | --- |
|
|
261
|
+
| `life_bootstrap` | Resume identity, policy, capabilities, and memory at session start |
|
|
262
|
+
| `life_recall` | Search durable memory (FTS / hybrid) |
|
|
263
|
+
| `life_remember_propose` | Propose a new memory (promoted on review) |
|
|
264
|
+
| `life_memory_promote` / `_reject` / `_forget` / `_expire` | Memory lifecycle |
|
|
265
|
+
| `life_commitment_create` / `_complete` | Long-running follow-ups |
|
|
266
|
+
| `life_heartbeat_claim` / `_complete` | Idempotent lease — one host executes per slot |
|
|
267
|
+
| `life_capability_search` / `_status` | Honest capability inventory |
|
|
268
|
+
| `life_policy_evaluate` | Evaluate an action against the risk policy |
|
|
269
|
+
| `life_status` | Local system status |
|
|
270
|
+
| `life_onboarding_status` / `life_onboard_apply` / `life_onboard_complete` | Onboarding flow |
|
|
271
|
+
|
|
272
|
+
Run the server directly:
|
|
273
|
+
|
|
274
|
+
```sh
|
|
275
|
+
printf '{"jsonrpc":"2.0","id":1,"method":"life_status"}\n' | nativesoul-mcp --home ~/.nativesoul
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Pricing
|
|
281
|
+
|
|
282
|
+
NativeSoul is a **single paid product — no free tier**: **$29 one-time**, 1 year of updates, perpetual build, **30-day money-back**, no subscription.
|
|
283
|
+
|
|
284
|
+
| Everything is in the one product | Terms |
|
|
285
|
+
| --- | --- |
|
|
286
|
+
| Identity across every host | **$29 one-time** |
|
|
287
|
+
| Searchable local memory (FTS5) | 1 year of updates, then keep the build forever (perpetual fallback) |
|
|
288
|
+
| Honest capability inventory + idempotent follow-ups | New major = optional paid upgrade |
|
|
289
|
+
| Hybrid recall ranking (local), read-only dashboard, importers, policy packs | **30-day money-back**, no questions |
|
|
290
|
+
| Reversible install/uninstall, `doctor`, audit log | No subscription |
|
|
291
|
+
|
|
292
|
+
> **Honesty note.** The **licensing/boot gate is not shipped yet** — it is specced in [`EPIC-018`](docs/stories/epics/EPIC-018-monetization-entitlements.md) ([ADR-045](docs/adr/ADR-045-paid-only-closed-distribution.md), authoritative). Until it lands, the product runs ungated. Pricing is **perpetual fallback** ($29 + 1 year of updates), not "lifetime." Licensing is **Dodo-managed** — the product checks the license **once a day** (sending only the key, logged to the audit log) with an **offline grace window**; it is **not** "zero network." The single source of truth for what may be claimed is [`docs/architecture/feature-registry.yaml`](docs/architecture/feature-registry.yaml).
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Host Readiness
|
|
297
|
+
|
|
298
|
+
Readiness is **capability-level, not absolute**. NativeSoul reports honest states — `ready`, `ready with fallback`, `degraded` — and never claims `full native capability` without evidence.
|
|
299
|
+
|
|
300
|
+
| Host family / surface | Status (ADR-031) |
|
|
301
|
+
| --- | --- |
|
|
302
|
+
| Claude Code | `ready` (native hook) |
|
|
303
|
+
| Claude Desktop | `ready` (MCP surface) |
|
|
304
|
+
| Codex CLI/App | `ready` (native hook) |
|
|
305
|
+
| Gemini CLI | `ready with fallback` (scheduler blocked by host) |
|
|
306
|
+
| Grok Build | `ready with fallback` (scheduler blocked by host) |
|
|
307
|
+
| Antigravity | `ready with fallback` |
|
|
308
|
+
|
|
309
|
+
**5 host families, 6 install surfaces. Zero are `full_native` today** — heartbeat runs on each host's official scheduler with honest fallback; NativeSoul never installs a cron or daemon. Verify before making any public full-native claim:
|
|
310
|
+
|
|
311
|
+
```sh
|
|
312
|
+
nativesoul doctor --deep --all-hosts --require-full-native --json # exits non-zero unless every host proves native scheduler + non-degraded inventory
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Matrix and definitions: [`docs/adr/ADR-031-host-parity-matrix-v2.md`](docs/adr/ADR-031-host-parity-matrix-v2.md).
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Don't trust us. Check us.
|
|
320
|
+
|
|
321
|
+
The trust model is **verifiable behavior**, not a license badge. Run these yourself:
|
|
322
|
+
|
|
323
|
+
| You're worried that… | Run this | And you'll see |
|
|
324
|
+
| --- | --- | --- |
|
|
325
|
+
| Your code is leaving your machine | `ls ~/.nativesoul/` | All local files. No cloud, no account. |
|
|
326
|
+
| The "personality" is just hype | `cat ~/.nativesoul/SOUL.md` | Plain text you wrote. Edit it. Delete it. |
|
|
327
|
+
| It only claims to work | `nativesoul doctor --deep --all-hosts` | Real status, and what's degraded. |
|
|
328
|
+
| It'll wreck your config | `nativesoul uninstall --all-hosts --apply` | Your setup comes back; managed blocks are reversible. |
|
|
329
|
+
| It did something behind your back | `nativesoul audit list --json` | Every action it took, written down. |
|
|
330
|
+
| It spies on me | run it behind a network monitor | No usage telemetry; your code/memory never leave. The only call is a once-a-day license check sending just the key — logged in `audit list`. |
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## Build, Test & Release
|
|
335
|
+
|
|
336
|
+
```sh
|
|
337
|
+
npm install
|
|
338
|
+
npm run lint
|
|
339
|
+
npm run typecheck
|
|
340
|
+
npm run build
|
|
341
|
+
npm test # build + non-e2e suite
|
|
342
|
+
npm run test:e2e
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
Release gates (no real publish, tokens, or signing keys):
|
|
346
|
+
|
|
347
|
+
```sh
|
|
348
|
+
npm run package:local # local tarball + provenance manifest
|
|
349
|
+
npm run package:smoke # install + smoke the tarball
|
|
350
|
+
npm run release:security:audit # lint + typecheck + policy + tests + build + secret/path scan
|
|
351
|
+
npm run release:provenance:dry-run
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
`npm publish` remains blocked until package visibility and npm authentication are explicitly approved (handled by @devops; see [`docs/guides/npm-beta-release-rollback.md`](docs/guides/npm-beta-release-rollback.md)). The security audit does not read npm tokens, sign with real keys, or claim public SLSA/registry attestation.
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Documentation
|
|
359
|
+
|
|
360
|
+
**Help center (customers):** [native-soul.mintlify.site](https://native-soul.mintlify.site/) — published from [`docs/help/`](docs/help/) via Mintlify. Install, hosts, commands, FAQ, pricing & licensing.
|
|
361
|
+
|
|
362
|
+
**Internal map (contributors):**
|
|
363
|
+
|
|
364
|
+
| Area | Doc |
|
|
365
|
+
| --- | --- |
|
|
366
|
+
| Project overview (business + architecture) | [`docs/architecture/project-overview-v1.md`](docs/architecture/project-overview-v1.md) |
|
|
367
|
+
| Legacy entitlements design (superseded by ADR-045) | [`docs/architecture/entitlements-free-pro-design-v1.md`](docs/architecture/entitlements-free-pro-design-v1.md) |
|
|
368
|
+
| Feature registry (marketing ↔ code source of truth) | [`docs/architecture/feature-registry.yaml`](docs/architecture/feature-registry.yaml) |
|
|
369
|
+
| Host parity matrix | [`docs/adr/ADR-031-host-parity-matrix-v2.md`](docs/adr/ADR-031-host-parity-matrix-v2.md) |
|
|
370
|
+
| Monetization (license issuer) runbook | [`docs/guides/monetization-issuer-runbook.md`](docs/guides/monetization-issuer-runbook.md) |
|
|
371
|
+
| Operator: native pulse / scheduler | [`docs/guides/native-pulse-operator-guide.md`](docs/guides/native-pulse-operator-guide.md) |
|
|
372
|
+
| Workspace templates | [`docs/framework/workspace-templates.md`](docs/framework/workspace-templates.md) |
|
|
373
|
+
| Epics & stories index | [`docs/stories/INDEX.md`](docs/stories/INDEX.md) |
|
|
374
|
+
| Architecture Decision Records | [`docs/adr/`](docs/adr/) |
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## License
|
|
379
|
+
|
|
380
|
+
**Proprietary, closed-source, paid — not open source, no free tier.** Use requires a paid license (**$29 one-time**, 1 year of updates, perpetual build, 30-day money-back). You may **not** fork, redistribute, decompile, reverse-engineer, or create derivative works for distribution.
|
|
381
|
+
|
|
382
|
+
See [`LICENSE`](LICENSE) and the full [`docs/legal/EULA.md`](docs/legal/EULA.md). Licensing is **Dodo-managed** ([ADR-045](docs/adr/ADR-045-paid-only-closed-distribution.md)): a once-a-day license check (sends only the key, logged to the audit log) with an offline grace window. No usage telemetry; your code and memory never leave your machine.
|
|
383
|
+
|
|
384
|
+
<p align="center"><sub>NativeSoul — the native soul for your coding agents. Local. Honest. Yours.</sub></p>
|