@wipcomputer/wip-ldm-os 0.4.41 → 0.4.43

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/README.md CHANGED
@@ -22,28 +22,25 @@ Open your AI and paste this:
22
22
  ```
23
23
  Read https://wip.computer/install/wip-ldm-os.txt
24
24
 
25
- Then explain:
25
+ Check if LDM OS is already installed. If it is, run ldm install --dry-run and show me what I have and what's new.
26
+
27
+ If not, walk me through setup and explain:
28
+
26
29
  1. What is LDM OS?
27
30
  2. What does it install on my system?
28
31
  3. What changes for us? (this AI)
29
32
  4. What changes across all my AIs?
30
33
 
31
- Check if LDM OS is already installed.
32
-
33
- If it is, show me what I have and what's new.
34
-
35
- If not, walk me through setup.
36
-
37
34
  Then ask:
38
35
  - Do you have questions?
39
36
  - Want to see a dry run?
40
37
 
41
- If I say yes: I can run ldm install --dry-run if LDM OS is already installed. If not, I'll need to install the CLI first (npm install -g @wipcomputer/wip-ldm-os) to run the dry run.
38
+ If I say yes: Install the CLI first (npm install -g @wipcomputer/wip-ldm-os) and then run ldm install --dry-run.
42
39
 
43
40
  Show me exactly what will change. Don't install anything until I say "install".
44
41
  ```
45
42
 
46
- That's it. Your AI reads the spec, explains what it does, and walks you through a dry run before touching anything.
43
+ That's it. Your AI reads the spec, checks what you have, and walks you through a dry run before touching anything.
47
44
 
48
45
  ## Included Skills
49
46
 
package/SKILL.md CHANGED
@@ -5,7 +5,7 @@ license: MIT
5
5
  interface: [cli, skill]
6
6
  metadata:
7
7
  display-name: "LDM OS"
8
- version: "0.4.41"
8
+ version: "0.4.43"
9
9
  homepage: "https://github.com/wipcomputer/wip-ldm-os"
10
10
  author: "Parker Todd Brooks"
11
11
  category: infrastructure
package/bin/ldm.js CHANGED
@@ -461,6 +461,50 @@ async function cmdInit() {
461
461
  }
462
462
  }
463
463
 
464
+ // Deploy boot-config.json to ~/.ldm/shared/boot/
465
+ const bootSrc = join(__dirname, '..', 'shared', 'boot');
466
+ const bootDest = join(LDM_ROOT, 'shared', 'boot');
467
+ if (existsSync(bootSrc)) {
468
+ mkdirSync(bootDest, { recursive: true });
469
+ const bootConfig = join(bootSrc, 'boot-config.json');
470
+ if (existsSync(bootConfig)) {
471
+ cpSync(bootConfig, join(bootDest, 'boot-config.json'));
472
+ console.log(` + boot-config.json deployed to ~/.ldm/shared/boot/`);
473
+ }
474
+ }
475
+
476
+ // Deploy Level 1 CLAUDE.md template to ~/.claude/CLAUDE.md
477
+ const claudeMdTemplate = join(__dirname, '..', 'shared', 'templates', 'claude-md-level1.md');
478
+ const claudeMdDest = join(HOME, '.claude', 'CLAUDE.md');
479
+ if (existsSync(claudeMdTemplate) && existsSync(join(HOME, '.claude'))) {
480
+ cpSync(claudeMdTemplate, claudeMdDest);
481
+ console.log(` + Level 1 CLAUDE.md deployed to ~/.claude/CLAUDE.md`);
482
+ }
483
+
484
+ // Deploy shared templates to workspace settings/templates/
485
+ const templatesSrc = join(__dirname, '..', 'shared', 'templates');
486
+ if (existsSync(templatesSrc)) {
487
+ // Read workspace path from ~/.ldm/config.json
488
+ let workspacePath = '';
489
+ try {
490
+ const ldmConfig = JSON.parse(readFileSync(join(LDM_ROOT, 'config.json'), 'utf8'));
491
+ workspacePath = (ldmConfig.workspace || '').replace('~', HOME);
492
+ } catch {}
493
+ if (workspacePath && existsSync(workspacePath)) {
494
+ const templatesDest = join(workspacePath, 'settings', 'templates');
495
+ mkdirSync(templatesDest, { recursive: true });
496
+ let templatesCount = 0;
497
+ for (const file of readdirSync(templatesSrc)) {
498
+ if (file === 'claude-md-level1.md') continue; // deployed separately above
499
+ cpSync(join(templatesSrc, file), join(templatesDest, file));
500
+ templatesCount++;
501
+ }
502
+ if (templatesCount > 0) {
503
+ console.log(` + ${templatesCount} template(s) deployed to ${templatesDest.replace(HOME, '~')}/`);
504
+ }
505
+ }
506
+ }
507
+
464
508
  // Deploy shared prompts to ~/.ldm/shared/prompts/
465
509
  const promptsSrc = join(__dirname, '..', 'shared', 'prompts');
466
510
  const promptsDest = join(LDM_ROOT, 'shared', 'prompts');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ldm-os",
3
- "version": "0.4.41",
3
+ "version": "0.4.43",
4
4
  "type": "module",
5
5
  "description": "LDM OS: identity, memory, and sovereignty infrastructure for AI agents",
6
6
  "engines": {
@@ -0,0 +1,65 @@
1
+ {
2
+ "agentId": "cc-mini",
3
+ "timezone": "America/Los_Angeles",
4
+ "maxTotalLines": 2000,
5
+ "steps": {
6
+ "sharedContext": {
7
+ "path": "~/.openclaw/workspace/SHARED-CONTEXT.md",
8
+ "label": "SHARED-CONTEXT.md",
9
+ "stepNumber": 2,
10
+ "critical": true
11
+ },
12
+ "journals": {
13
+ "dir": "~/wipcomputerinc/team/cc-mini/documents/journals",
14
+ "label": "Most Recent Journal (Parker)",
15
+ "stepNumber": 3,
16
+ "maxLines": 80,
17
+ "strategy": "most-recent"
18
+ },
19
+ "workspaceDailyLogs": {
20
+ "dir": "~/.openclaw/workspace/memory",
21
+ "label": "Workspace Daily Logs",
22
+ "stepNumber": 4,
23
+ "maxLines": 40,
24
+ "strategy": "daily-logs",
25
+ "days": ["today", "yesterday"]
26
+ },
27
+ "fullHistory": {
28
+ "label": "Full History",
29
+ "stepNumber": 5,
30
+ "reminder": "Read on cold start: staff/Parker/Claude Code - Mini/documents/cc-full-history.md"
31
+ },
32
+ "context": {
33
+ "path": "~/.ldm/agents/cc-mini/CONTEXT.md",
34
+ "label": "CC CONTEXT.md",
35
+ "stepNumber": 6,
36
+ "critical": true
37
+ },
38
+ "soul": {
39
+ "path": "~/.ldm/agents/cc-mini/SOUL.md",
40
+ "label": "CC SOUL.md",
41
+ "stepNumber": 7
42
+ },
43
+ "ccJournals": {
44
+ "dir": "~/.ldm/agents/cc-mini/memory/journals",
45
+ "label": "Most Recent CC Journal",
46
+ "stepNumber": 8,
47
+ "maxLines": 80,
48
+ "strategy": "most-recent"
49
+ },
50
+ "ccDailyLog": {
51
+ "dir": "~/.ldm/agents/cc-mini/memory/daily",
52
+ "label": "CC Daily Log",
53
+ "stepNumber": 9,
54
+ "maxLines": 60,
55
+ "strategy": "daily-logs",
56
+ "days": ["today", "yesterday"]
57
+ },
58
+ "repoLocations": {
59
+ "path": "~/.claude/projects/-Users-lesa--openclaw/memory/repo-locations.md",
60
+ "label": "repo-locations.md",
61
+ "stepNumber": 10,
62
+ "critical": true
63
+ }
64
+ }
65
+ }
@@ -27,3 +27,7 @@ Use worktrees for isolated work. Main working tree stays on main (read-only).
27
27
  ## Issues go on the public repo
28
28
 
29
29
  For private/public repo pairs, all issues go on the public repo.
30
+
31
+ ## On-demand reference
32
+
33
+ Before doing repo work, read `~/wipcomputerinc/settings/docs/how-worktrees-work.md` for the full worktree workflow with commands.
@@ -1,5 +1,18 @@
1
1
  # Release Pipeline
2
2
 
3
+ ## Never touch deployed files. The installer is the only deploy path.
4
+
5
+ Files at `~/.ldm/`, `~/.claude/`, `~/.openclaw/` are DEPLOYED by `ldm install`. Never edit them directly. Every change goes through the repo and the installer.
6
+
7
+ The plan for any feature must answer:
8
+ 1. What source files change? (in the repo)
9
+ 2. What does `ldm install` deploy? (templates, rules, docs, boot config, CLAUDE.md)
10
+ 3. What needs to update for fresh install vs existing install?
11
+ 4. What docs need updating?
12
+ 5. What are ALL the files the installer touches on deploy?
13
+
14
+ Then: repo change, PR, merge, release, `ldm install`. That's the only path.
15
+
3
16
  ## Three steps. Never combine. Never skip.
4
17
 
5
18
  | Step | What happens | What it means |
@@ -23,3 +36,7 @@ After Deploy, STOP. Do not copy files. Do not npm install -g. Do not npm link. D
23
36
  ## Never run tools from repo clones
24
37
 
25
38
  Installed tools are for execution. Repo clones are for development. Use the installed commands (`crystal`, `wip-release`, `mdview`, etc.), never run from source.
39
+
40
+ ## On-demand reference
41
+
42
+ Before releasing, read `~/wipcomputerinc/settings/docs/how-releases-work.md` for the full pipeline with commands.
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Folder ownership
4
4
 
5
- Each agent has its own folder under `staff/`. Never touch another agent's folders. If something needs to change, ask the other agent.
5
+ Each agent has its own folder under `team/`. Never touch another agent's folders. If something needs to change, ask the other agent.
6
6
 
7
7
  ## Repos are shared
8
8
 
@@ -19,3 +19,7 @@ Every tool must work fully on your machine without calling any external server.
19
19
  ## Never run tools from repo clones
20
20
 
21
21
  Installed tools are for execution. Repo clones are for development. Use the installed commands, not source.
22
+
23
+ ## On-demand reference
24
+
25
+ For the full directory map, read `~/wipcomputerinc/settings/docs/system-directories.md`.
@@ -0,0 +1,37 @@
1
+ # Global Instructions for Claude Code
2
+
3
+ ## Writing Style
4
+
5
+ Never use em dashes. Use periods, colons, semicolons, or ellipsis (...) instead.
6
+ Timezone: PST (Pacific), 24-hour clock. Parker is in Los Angeles.
7
+
8
+ ## Co-Authors on Every Commit
9
+
10
+ Read co-author lines from `~/wipcomputerinc/settings/config.json` coAuthors field. All contributors listed on every commit. No exceptions.
11
+
12
+ ## 1Password CLI: Always Use Service Account Token
13
+
14
+ Never call `op` bare. Always prefix with the SA token:
15
+ ```bash
16
+ OP_SERVICE_ACCOUNT_TOKEN=$(cat ~/.openclaw/secrets/op-sa-token) op item get "Item Name" --fields label=fieldname
17
+ ```
18
+
19
+ ## Never Run Tools From Repo Clones
20
+
21
+ Installed tools are for execution. Repo clones are for development. Use installed commands (`crystal`, `wip-release`, `mdview`), never run from source.
22
+
23
+ ## Shared File Protection
24
+
25
+ Never use Write on SHARED-CONTEXT.md or shared workspace files. Always use Edit to append or update specific sections. Overwriting destroys context that both agents depend on.
26
+
27
+ ## Memory-First Rule
28
+
29
+ Before reaching for any external service or workaround: search memory first. Use `crystal_search`, `lesa_conversation_search`, or `lesa_memory_search`.
30
+
31
+ ## Dev Conventions
32
+
33
+ For git workflow, releases, worktrees, and repo conventions: read `~/wipcomputerinc/settings/docs/` on demand when doing repo work. Key docs:
34
+ - `how-worktrees-work.md` ... git worktrees, the convention, commands
35
+ - `how-releases-work.md` ... the full release pipeline
36
+ - `system-directories.md` ... what lives where
37
+ - Also read `~/wipcomputerinc/settings/templates/dev-guide-private.md` for org-specific conventions
@@ -0,0 +1,28 @@
1
+ # Install LDM OS
2
+
3
+ Open your AI and paste this:
4
+
5
+ ---
6
+
7
+ Read https://wip.computer/install/wip-ldm-os.txt
8
+
9
+ Check if LDM OS is already installed. If it is, run ldm install --dry-run and show me what I have and what's new.
10
+
11
+ If not, walk me through setup and explain:
12
+
13
+ 1. What is LDM OS?
14
+ 2. What does it install on my system?
15
+ 3. What changes for us? (this AI)
16
+ 4. What changes across all my AIs?
17
+
18
+ Then ask:
19
+ - Do you have questions?
20
+ - Want to see a dry run?
21
+
22
+ If I say yes: Install the CLI first (npm install -g @wipcomputer/wip-ldm-os) and then run ldm install --dry-run.
23
+
24
+ Show me exactly what will change. Don't install anything until I say "install".
25
+
26
+ ---
27
+
28
+ That's it. Your AI reads the spec, explains what it does, and walks you through a dry run before touching anything.