youmd 0.8.7 → 0.8.13

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.
Files changed (125) hide show
  1. package/dist/commands/add.js +1 -1
  2. package/dist/commands/add.js.map +1 -1
  3. package/dist/commands/agent.d.ts +4 -0
  4. package/dist/commands/agent.d.ts.map +1 -1
  5. package/dist/commands/agent.js +4 -0
  6. package/dist/commands/agent.js.map +1 -1
  7. package/dist/commands/build.js +2 -2
  8. package/dist/commands/build.js.map +1 -1
  9. package/dist/commands/chat.js +1 -1
  10. package/dist/commands/chat.js.map +1 -1
  11. package/dist/commands/env.d.ts.map +1 -1
  12. package/dist/commands/env.js +11 -10
  13. package/dist/commands/env.js.map +1 -1
  14. package/dist/commands/init.js +5 -5
  15. package/dist/commands/init.js.map +1 -1
  16. package/dist/commands/keys.js +8 -1
  17. package/dist/commands/keys.js.map +1 -1
  18. package/dist/commands/login.js +2 -2
  19. package/dist/commands/login.js.map +1 -1
  20. package/dist/commands/machine.d.ts.map +1 -1
  21. package/dist/commands/machine.js +331 -8
  22. package/dist/commands/machine.js.map +1 -1
  23. package/dist/commands/mcp.js +4 -4
  24. package/dist/commands/mcp.js.map +1 -1
  25. package/dist/commands/private.js +2 -2
  26. package/dist/commands/private.js.map +1 -1
  27. package/dist/commands/project.d.ts.map +1 -1
  28. package/dist/commands/project.js +31 -0
  29. package/dist/commands/project.js.map +1 -1
  30. package/dist/commands/publish.js +1 -1
  31. package/dist/commands/publish.js.map +1 -1
  32. package/dist/commands/pull.js +1 -1
  33. package/dist/commands/pull.js.map +1 -1
  34. package/dist/commands/push.js +1 -1
  35. package/dist/commands/push.js.map +1 -1
  36. package/dist/commands/skill.d.ts +1 -1
  37. package/dist/commands/skill.d.ts.map +1 -1
  38. package/dist/commands/skill.js +736 -39
  39. package/dist/commands/skill.js.map +1 -1
  40. package/dist/commands/stack.d.ts.map +1 -1
  41. package/dist/commands/stack.js +127 -26
  42. package/dist/commands/stack.js.map +1 -1
  43. package/dist/commands/status.js +1 -1
  44. package/dist/commands/status.js.map +1 -1
  45. package/dist/commands/sync.d.ts.map +1 -1
  46. package/dist/commands/sync.js +84 -3
  47. package/dist/commands/sync.js.map +1 -1
  48. package/dist/commands/whoami.js +3 -3
  49. package/dist/commands/whoami.js.map +1 -1
  50. package/dist/create.js +0 -0
  51. package/dist/index.js +40 -30
  52. package/dist/index.js.map +1 -1
  53. package/dist/lib/api.d.ts +190 -0
  54. package/dist/lib/api.d.ts.map +1 -1
  55. package/dist/lib/api.js +44 -6
  56. package/dist/lib/api.js.map +1 -1
  57. package/dist/lib/config.d.ts +20 -12
  58. package/dist/lib/config.d.ts.map +1 -1
  59. package/dist/lib/config.js +113 -42
  60. package/dist/lib/config.js.map +1 -1
  61. package/dist/lib/daemon.d.ts +2 -0
  62. package/dist/lib/daemon.d.ts.map +1 -1
  63. package/dist/lib/daemon.js +28 -19
  64. package/dist/lib/daemon.js.map +1 -1
  65. package/dist/lib/machine-bootstrap-prompt.d.ts.map +1 -1
  66. package/dist/lib/machine-bootstrap-prompt.js +147 -118
  67. package/dist/lib/machine-bootstrap-prompt.js.map +1 -1
  68. package/dist/lib/machine-verify.d.ts +51 -0
  69. package/dist/lib/machine-verify.d.ts.map +1 -1
  70. package/dist/lib/machine-verify.js +123 -1
  71. package/dist/lib/machine-verify.js.map +1 -1
  72. package/dist/lib/onboarding.d.ts.map +1 -1
  73. package/dist/lib/onboarding.js +3 -8
  74. package/dist/lib/onboarding.js.map +1 -1
  75. package/dist/lib/portfolio-audit.d.ts.map +1 -1
  76. package/dist/lib/portfolio-audit.js +2 -1
  77. package/dist/lib/portfolio-audit.js.map +1 -1
  78. package/dist/lib/project.d.ts +3 -3
  79. package/dist/lib/project.d.ts.map +1 -1
  80. package/dist/lib/project.js +18 -11
  81. package/dist/lib/project.js.map +1 -1
  82. package/dist/lib/projectContext.d.ts +10 -9
  83. package/dist/lib/projectContext.d.ts.map +1 -1
  84. package/dist/lib/projectContext.js +29 -23
  85. package/dist/lib/projectContext.js.map +1 -1
  86. package/dist/lib/realtime-sync.d.ts +26 -0
  87. package/dist/lib/realtime-sync.d.ts.map +1 -1
  88. package/dist/lib/realtime-sync.js +51 -7
  89. package/dist/lib/realtime-sync.js.map +1 -1
  90. package/dist/lib/render.js +1 -1
  91. package/dist/lib/render.js.map +1 -1
  92. package/dist/lib/skill-catalog.d.ts +26 -0
  93. package/dist/lib/skill-catalog.d.ts.map +1 -1
  94. package/dist/lib/skill-catalog.js +100 -0
  95. package/dist/lib/skill-catalog.js.map +1 -1
  96. package/dist/lib/vault.d.ts +3 -3
  97. package/dist/lib/vault.d.ts.map +1 -1
  98. package/dist/lib/vault.js +10 -8
  99. package/dist/lib/vault.js.map +1 -1
  100. package/dist/lib/youstack.js +12 -12
  101. package/dist/lib/youstack.js.map +1 -1
  102. package/dist/mcp/registry.d.ts +2 -1
  103. package/dist/mcp/registry.d.ts.map +1 -1
  104. package/dist/mcp/registry.js +135 -12
  105. package/dist/mcp/registry.js.map +1 -1
  106. package/dist/mcp/server.d.ts.map +1 -1
  107. package/dist/mcp/server.js +135 -7
  108. package/dist/mcp/server.js.map +1 -1
  109. package/dist/postinstall.js +3 -2
  110. package/dist/postinstall.js.map +1 -1
  111. package/dist/you.js +0 -0
  112. package/package.json +1 -1
  113. package/scripts/local-agent-stack-inventory.mjs +1188 -0
  114. package/scripts/skillstack-sync/README.md +33 -25
  115. package/scripts/skillstack-sync/bootstrap-new-mac.sh +1 -1
  116. package/scripts/skillstack-sync/capture-agent-config.sh +8 -1
  117. package/scripts/skillstack-sync/{com.youmd.context-sync.plist → com.you.context-sync.plist} +3 -3
  118. package/scripts/skillstack-sync/{com.youmd.identity-sync.plist → com.you.identity-sync.plist} +3 -3
  119. package/scripts/skillstack-sync/{com.youmd.realtime-sync.plist → com.you.realtime-sync.plist} +3 -3
  120. package/scripts/skillstack-sync/{com.youmd.skillstack-sync.plist → com.you.skillstack-sync.plist} +3 -3
  121. package/scripts/skillstack-sync/context-sync.sh +1 -1
  122. package/scripts/skillstack-sync/install-daemons.sh +20 -6
  123. package/scripts/skillstack-sync/restore-agent-config.sh +1 -1
  124. package/scripts/skillstack-sync/sync.sh +1 -1
  125. package/skills/machine-bootstrap.md +57 -55
@@ -28,8 +28,8 @@ Cross-machine sync toolkit for Houston Golden's agent skill/stack setup.
28
28
 
29
29
  ### Complementary sync planes
30
30
 
31
- - **Realtime identity/project plane:** `youmd sync --live --daemon` subscribes to Convex websocket updates, mints only a short-lived sync session token, materializes identity files and installed You.md skills locally, and triggers bounded shared stack/project-context syncs. It never prints or returns raw `.env.local` values.
32
- - **Identity repair plane:** `youmd sync --daemon` (Convex ↔ local profile, memories, preferences). Automated via `com.youmd.identity-sync` daemon as a timer-based fallback. Daemon mode refreshes local files/skills and skips unsafe lossy pushes instead of forcing over richer server data.
31
+ - **Realtime identity/project/Skill Mesh plane:** `youmd sync --live --daemon` subscribes to Convex websocket updates, mints only a short-lived sync session token, materializes identity files and installed You.md skills locally, and triggers bounded shared stack/project-context plus safe agent-stack inventory syncs. It never prints or returns raw `.env.local` values.
32
+ - **Identity repair plane:** `youmd sync --daemon` (Convex ↔ local profile, memories, preferences). Automated via `com.you.identity-sync` daemon as a timer-based fallback. Daemon mode refreshes local files/skills and skips unsafe lossy pushes instead of forcing over richer server data.
33
33
  - **Project-context plane:** `youmd stack context-sync` safely commits and syncs only `AGENTS.md`, `CLAUDE.md`, `project-context/`, and `.claude/` in curated Houston-owned repos. It refuses to merge remote app-code changes.
34
34
  - **Env-vault plane:** `cli/scripts/env-vault/restore.sh` for secrets (manual, invoked on new machine); also available as `youmd env restore <vault>`.
35
35
 
@@ -42,10 +42,10 @@ cli/scripts/skillstack-sync/
42
42
  ├── sync.sh Core syncer (bash 3.2 compatible)
43
43
  ├── install-daemons.sh Installs all resident LaunchAgents
44
44
  ├── bootstrap-new-mac.sh New machine setup script
45
- ├── com.youmd.realtime-sync.plist LaunchAgent: runs `youmd sync --live --daemon` as a resident websocket syncer
46
- ├── com.youmd.skillstack-sync.plist LaunchAgent: runs `youmd stack sync` every 5 min
47
- ├── com.youmd.identity-sync.plist LaunchAgent: runs `youmd sync --daemon` every 5 min
48
- ├── com.youmd.context-sync.plist LaunchAgent: runs `youmd stack context-sync` every 15 min
45
+ ├── com.you.realtime-sync.plist LaunchAgent: runs `youmd sync --live --daemon` as a resident websocket + Skill Mesh syncer
46
+ ├── com.you.skillstack-sync.plist LaunchAgent: runs `youmd stack sync` every 5 min
47
+ ├── com.you.identity-sync.plist LaunchAgent: runs `youmd sync --daemon` every 5 min
48
+ ├── com.you.context-sync.plist LaunchAgent: runs `youmd stack context-sync` every 15 min
49
49
  └── README.md This file
50
50
  ```
51
51
 
@@ -66,7 +66,7 @@ cli/scripts/skillstack-sync/
66
66
  → skips if no changes detected
67
67
  ```
68
68
 
69
- All actions logged to `~/.youmd/logs/skillstack-sync.log`.
69
+ All actions logged to `~/.you/logs/skillstack-sync.log`, with legacy `~/.youmd` logs still readable during migration.
70
70
 
71
71
  ### Flags
72
72
 
@@ -106,27 +106,35 @@ bash cli/scripts/skillstack-sync/install-daemons.sh
106
106
  ```
107
107
 
108
108
  Installs four LaunchAgents:
109
- - `com.youmd.realtime-sync` → runs `youmd sync --live --daemon`
110
- - `com.youmd.skillstack-sync` → runs `youmd stack sync`
111
- - `com.youmd.identity-sync` → runs `youmd sync --daemon`
112
- - `com.youmd.context-sync` → runs `youmd stack context-sync`
109
+ - `com.you.realtime-sync` → runs `youmd sync --live --daemon`, including a bounded `youmd skill inventory --sync` pass every 30 minutes by default
110
+ - `com.you.skillstack-sync` → runs `youmd stack sync`
111
+ - `com.you.identity-sync` → runs `youmd sync --daemon`
112
+ - `com.you.context-sync` → runs `youmd stack context-sync`
113
+
114
+ Skill Mesh inventory knobs:
115
+
116
+ ```bash
117
+ YOUMD_LIVE_SYNC_INVENTORY=0 # disable resident inventory sync
118
+ YOUMD_LIVE_SYNC_INVENTORY_INTERVAL_SECONDS=900 # tune cadence; default 1800
119
+ YOU_AGENT_STACK_INVENTORY_DIR=~/.you/agent-stack-inventory
120
+ ```
113
121
 
114
122
  Check status:
115
123
  ```bash
116
124
  youmd stack daemon status
117
125
  # or directly:
118
- launchctl list com.youmd.skillstack-sync
119
- launchctl list com.youmd.realtime-sync
120
- launchctl list com.youmd.identity-sync
121
- launchctl list com.youmd.context-sync
126
+ launchctl list com.you.skillstack-sync
127
+ launchctl list com.you.realtime-sync
128
+ launchctl list com.you.identity-sync
129
+ launchctl list com.you.context-sync
122
130
  ```
123
131
 
124
132
  Check logs:
125
133
  ```bash
126
- tail -f ~/.youmd/logs/skillstack-sync.log
127
- tail -f ~/.youmd/logs/skillstack-sync.out.log
128
- tail -f ~/.youmd/logs/identity-sync.out.log
129
- tail -f ~/.youmd/logs/context-sync.log
134
+ tail -f ~/.you/logs/skillstack-sync.log
135
+ tail -f ~/.you/logs/skillstack-sync.out.log
136
+ tail -f ~/.you/logs/identity-sync.out.log
137
+ tail -f ~/.you/logs/context-sync.log
130
138
  ```
131
139
 
132
140
  ### Uninstall daemons
@@ -137,12 +145,12 @@ youmd stack daemon uninstall
137
145
 
138
146
  Or manually:
139
147
  ```bash
140
- launchctl unload ~/Library/LaunchAgents/com.youmd.skillstack-sync.plist
141
- launchctl unload ~/Library/LaunchAgents/com.youmd.identity-sync.plist
142
- launchctl unload ~/Library/LaunchAgents/com.youmd.context-sync.plist
143
- rm ~/Library/LaunchAgents/com.youmd.skillstack-sync.plist
144
- rm ~/Library/LaunchAgents/com.youmd.identity-sync.plist
145
- rm ~/Library/LaunchAgents/com.youmd.context-sync.plist
148
+ launchctl unload ~/Library/LaunchAgents/com.you.skillstack-sync.plist
149
+ launchctl unload ~/Library/LaunchAgents/com.you.identity-sync.plist
150
+ launchctl unload ~/Library/LaunchAgents/com.you.context-sync.plist
151
+ rm ~/Library/LaunchAgents/com.you.skillstack-sync.plist
152
+ rm ~/Library/LaunchAgents/com.you.identity-sync.plist
153
+ rm ~/Library/LaunchAgents/com.you.context-sync.plist
146
154
  ```
147
155
 
148
156
  ---
@@ -10,7 +10,7 @@
10
10
  # Usage: bash bootstrap-new-mac.sh
11
11
 
12
12
  set -euo pipefail
13
- export PATH="${HOME}/.youmd/bin:${HOME}/.youmd/npm-global/bin:/opt/homebrew/opt/node@22/bin:/usr/local/opt/node@22/bin:/opt/homebrew/bin:/usr/local/bin:${PATH}"
13
+ export PATH="${HOME}/.you/bin:${HOME}/.you/npm-global/bin:${HOME}/.youmd/bin:${HOME}/.youmd/npm-global/bin:/opt/homebrew/opt/node@22/bin:/usr/local/opt/node@22/bin:/opt/homebrew/bin:/usr/local/bin:${PATH}"
14
14
 
15
15
  AGENT_SHARED="${HOME}/.agent-shared"
16
16
  SCISTACK="${HOME}/.claude/scistack"
@@ -19,7 +19,7 @@ set -euo pipefail
19
19
 
20
20
  AGENT_SHARED="${HOME}/.agent-shared"
21
21
  DEST="${AGENT_SHARED}/agent-config"
22
- LOG_DIR="${HOME}/.youmd/logs"
22
+ LOG_DIR="${YOU_HOME:-${YOUMD_HOME:-${HOME}/.you}}/logs"
23
23
  LOG_FILE="${LOG_DIR}/capture-agent-config.log"
24
24
 
25
25
  DRY_RUN=0
@@ -83,9 +83,16 @@ capture_plist() {
83
83
  sed "s|${HOME}|__HOME__|g" "${src}" > "${target}"
84
84
  log "captured plist ${label} → agent-config/automations/launchd/${label}.plist"
85
85
  }
86
+ capture_plist "com.you.skillstack-sync"
87
+ capture_plist "com.you.identity-sync"
88
+ capture_plist "com.you.context-sync"
89
+ capture_plist "com.you.realtime-sync"
90
+ # Legacy labels are captured only if present so restore audits can identify
91
+ # old hosts, but `youmd stack daemon install` replaces them with com.you.*.
86
92
  capture_plist "com.youmd.skillstack-sync"
87
93
  capture_plist "com.youmd.identity-sync"
88
94
  capture_plist "com.youmd.context-sync"
95
+ capture_plist "com.youmd.realtime-sync"
89
96
  capture_plist "com.houstongolden.agent-runtime-guard"
90
97
 
91
98
  if ! is_dry; then
@@ -3,7 +3,7 @@
3
3
  <plist version="1.0">
4
4
  <dict>
5
5
  <key>Label</key>
6
- <string>com.youmd.context-sync</string>
6
+ <string>com.you.context-sync</string>
7
7
 
8
8
  <key>ProgramArguments</key>
9
9
  <array>
@@ -22,10 +22,10 @@
22
22
  <false/>
23
23
 
24
24
  <key>StandardOutPath</key>
25
- <string>__HOME__/.youmd/logs/context-sync.out.log</string>
25
+ <string>__HOME__/.you/logs/context-sync.out.log</string>
26
26
 
27
27
  <key>StandardErrorPath</key>
28
- <string>__HOME__/.youmd/logs/context-sync.err.log</string>
28
+ <string>__HOME__/.you/logs/context-sync.err.log</string>
29
29
 
30
30
  <key>EnvironmentVariables</key>
31
31
  <dict>
@@ -3,7 +3,7 @@
3
3
  <plist version="1.0">
4
4
  <dict>
5
5
  <key>Label</key>
6
- <string>com.youmd.identity-sync</string>
6
+ <string>com.you.identity-sync</string>
7
7
 
8
8
  <key>ProgramArguments</key>
9
9
  <array>
@@ -22,10 +22,10 @@
22
22
  <false/>
23
23
 
24
24
  <key>StandardOutPath</key>
25
- <string>__HOME__/.youmd/logs/identity-sync.out.log</string>
25
+ <string>__HOME__/.you/logs/identity-sync.out.log</string>
26
26
 
27
27
  <key>StandardErrorPath</key>
28
- <string>__HOME__/.youmd/logs/identity-sync.err.log</string>
28
+ <string>__HOME__/.you/logs/identity-sync.err.log</string>
29
29
 
30
30
  <key>EnvironmentVariables</key>
31
31
  <dict>
@@ -3,7 +3,7 @@
3
3
  <plist version="1.0">
4
4
  <dict>
5
5
  <key>Label</key>
6
- <string>com.youmd.realtime-sync</string>
6
+ <string>com.you.realtime-sync</string>
7
7
 
8
8
  <key>ProgramArguments</key>
9
9
  <array>
@@ -19,10 +19,10 @@
19
19
  <true/>
20
20
 
21
21
  <key>StandardOutPath</key>
22
- <string>__HOME__/.youmd/logs/realtime-sync.out.log</string>
22
+ <string>__HOME__/.you/logs/realtime-sync.out.log</string>
23
23
 
24
24
  <key>StandardErrorPath</key>
25
- <string>__HOME__/.youmd/logs/realtime-sync.err.log</string>
25
+ <string>__HOME__/.you/logs/realtime-sync.err.log</string>
26
26
 
27
27
  <key>EnvironmentVariables</key>
28
28
  <dict>
@@ -3,7 +3,7 @@
3
3
  <plist version="1.0">
4
4
  <dict>
5
5
  <key>Label</key>
6
- <string>com.youmd.skillstack-sync</string>
6
+ <string>com.you.skillstack-sync</string>
7
7
 
8
8
  <key>ProgramArguments</key>
9
9
  <array>
@@ -22,10 +22,10 @@
22
22
  <false/>
23
23
 
24
24
  <key>StandardOutPath</key>
25
- <string>__HOME__/.youmd/logs/skillstack-sync.out.log</string>
25
+ <string>__HOME__/.you/logs/skillstack-sync.out.log</string>
26
26
 
27
27
  <key>StandardErrorPath</key>
28
- <string>__HOME__/.youmd/logs/skillstack-sync.err.log</string>
28
+ <string>__HOME__/.you/logs/skillstack-sync.err.log</string>
29
29
 
30
30
  <key>EnvironmentVariables</key>
31
31
  <dict>
@@ -44,7 +44,7 @@ set -euo pipefail
44
44
  # Config
45
45
  # ---------------------------------------------------------------------------
46
46
  SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
47
- LOG_DIR="${HOME}/.youmd/logs"
47
+ LOG_DIR="${YOU_HOME:-${YOUMD_HOME:-${HOME}/.you}}/logs"
48
48
  LOG_FILE="${LOG_DIR}/context-sync.log"
49
49
 
50
50
  GIT_USER_NAME="${GIT_USER_NAME:-Houston Golden}"
@@ -10,9 +10,10 @@ set -euo pipefail
10
10
 
11
11
  SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
12
12
  LAUNCH_AGENTS_DIR="${HOME}/Library/LaunchAgents"
13
- LOG_DIR="${HOME}/.youmd/logs"
13
+ LOG_DIR="${YOU_HOME:-${YOUMD_HOME:-${HOME}/.you}}/logs"
14
14
 
15
- PLISTS="com.youmd.realtime-sync com.youmd.skillstack-sync com.youmd.identity-sync com.youmd.context-sync"
15
+ PLISTS="com.you.realtime-sync com.you.skillstack-sync com.you.identity-sync com.you.context-sync"
16
+ LEGACY_PLISTS="com.youmd.realtime-sync com.youmd.skillstack-sync com.youmd.identity-sync com.youmd.context-sync"
16
17
 
17
18
  echo "==> Creating log directory: ${LOG_DIR}"
18
19
  mkdir -p "${LOG_DIR}"
@@ -20,6 +21,19 @@ mkdir -p "${LOG_DIR}"
20
21
  echo "==> Creating LaunchAgents directory: ${LAUNCH_AGENTS_DIR}"
21
22
  mkdir -p "${LAUNCH_AGENTS_DIR}"
22
23
 
24
+ echo "==> Removing legacy com.youmd LaunchAgents if present"
25
+ for label in ${LEGACY_PLISTS}; do
26
+ dst="${LAUNCH_AGENTS_DIR}/${label}.plist"
27
+ if launchctl list "${label}" >/dev/null 2>&1; then
28
+ echo " Unloading legacy ${label}..."
29
+ launchctl unload "${dst}" 2>/dev/null || true
30
+ fi
31
+ if [ -f "${dst}" ]; then
32
+ echo " Removing legacy ${dst}"
33
+ rm -f "${dst}"
34
+ fi
35
+ done
36
+
23
37
  for label in ${PLISTS}; do
24
38
  src="${SCRIPT_DIR}/${label}.plist"
25
39
  dst="${LAUNCH_AGENTS_DIR}/${label}.plist"
@@ -70,10 +84,10 @@ echo " ${LOG_DIR}/context-sync.out.log (daemon stdout)"
70
84
  echo " ${LOG_DIR}/context-sync.err.log (daemon stderr)"
71
85
  echo ""
72
86
  echo "Check daemon status:"
73
- echo " launchctl list com.youmd.realtime-sync"
74
- echo " launchctl list com.youmd.skillstack-sync"
75
- echo " launchctl list com.youmd.identity-sync"
76
- echo " launchctl list com.youmd.context-sync"
87
+ echo " launchctl list com.you.realtime-sync"
88
+ echo " launchctl list com.you.skillstack-sync"
89
+ echo " launchctl list com.you.identity-sync"
90
+ echo " launchctl list com.you.context-sync"
77
91
  echo ""
78
92
  echo "To uninstall:"
79
93
  for label in ${PLISTS}; do
@@ -25,7 +25,7 @@ set -euo pipefail
25
25
 
26
26
  AGENT_SHARED="${HOME}/.agent-shared"
27
27
  SRC="${AGENT_SHARED}/agent-config"
28
- LOG_DIR="${HOME}/.youmd/logs"
28
+ LOG_DIR="${YOU_HOME:-${YOUMD_HOME:-${HOME}/.you}}/logs"
29
29
  LOG_FILE="${LOG_DIR}/restore-agent-config.log"
30
30
 
31
31
  DRY_RUN=0
@@ -17,7 +17,7 @@ set -euo pipefail
17
17
  # Config
18
18
  # ---------------------------------------------------------------------------
19
19
  SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
20
- LOG_DIR="${HOME}/.youmd/logs"
20
+ LOG_DIR="${YOU_HOME:-${YOUMD_HOME:-${HOME}/.you}}/logs"
21
21
  LOG_FILE="${LOG_DIR}/skillstack-sync.log"
22
22
 
23
23
  GIT_USER_NAME="${GIT_USER_NAME:-Houston Golden}"
@@ -26,7 +26,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
26
26
  ## Default Flow
27
27
 
28
28
  1. Confirm whether this looks like a fresh machine:
29
- - `youmd status`
29
+ - `you status`
30
30
  - `test -d ~/Desktop/CODE_YOU && find ~/Desktop/CODE_YOU -maxdepth 1 -type d | wc -l`
31
31
  - `git config user.name && git config user.email`
32
32
  - `gh auth status`
@@ -34,16 +34,17 @@ You.md is the brain. The new machine should become a runnable local agent workst
34
34
  for Claude Code or Codex on the new machine, generate it first:
35
35
 
36
36
  ```bash
37
- youmd machine prompt --root ~/Desktop/CODE_YOU --days 30 --limit 80 --require-env-vault
37
+ you machine prompt --root ~/Desktop/CODE_YOU --days 30 --limit 80 --require-env-vault
38
38
  ```
39
39
 
40
40
  If the web dashboard minted a scoped bootstrap key, the generated prompt may
41
- include `YOUMD_API_KEY`. Treat that prompt as secret-bearing local setup
41
+ include `YOU_API_KEY` (legacy `YOUMD_API_KEY` still works). Treat that prompt as secret-bearing local setup
42
42
  material and do not paste it into public chats, tickets, or docs.
43
43
  Fresh-machine bootstrap keys must include the `vault` scope so the trusted
44
44
  device can pull encrypted Secret Vault snapshots after login.
45
45
  For bounded proof runs on a clean local root, add
46
- `--max-clone-projects 2` or set `YOUMD_MAX_CLONE_PROJECTS=2`; omit that cap
46
+ `--max-clone-projects 2` or set `YOU_MAX_CLONE_PROJECTS=2`; legacy
47
+ `YOUMD_MAX_CLONE_PROJECTS=2` still works. Omit that cap
47
48
  on the real new machine.
48
49
 
49
50
  3. If You.md is not installed on the new machine, install it:
@@ -55,19 +56,19 @@ You.md is the brain. The new machine should become a runnable local agent workst
55
56
  4. Authenticate and hydrate the local brain:
56
57
 
57
58
  ```bash
58
- youmd login --key "$YOUMD_API_KEY" # or: youmd login
59
- youmd pull
60
- youmd sync
59
+ you login --key "$YOU_API_KEY" # or: you login
60
+ you pull
61
+ you sync
61
62
  ```
62
63
 
63
64
  5. Restore shared agent skills, stack config, and host adapters:
64
65
 
65
66
  ```bash
66
- youmd machine setup
67
- youmd skill install all
68
- youmd skill sync
69
- youmd skill link codex
70
- youmd skill link claude
67
+ you machine setup
68
+ you skill install all
69
+ you skill sync
70
+ you skill link codex
71
+ you skill link claude
71
72
  ```
72
73
 
73
74
  6. Hydrate the portfolio graph from You.md/GitHub records before cloning, then
@@ -75,18 +76,18 @@ You.md is the brain. The new machine should become a runnable local agent workst
75
76
  and syncing truly active 30-day projects first:
76
77
 
77
78
  ```bash
78
- youmd project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 30 --limit 80
79
- youmd machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only --dry-run
80
- youmd machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only
79
+ you project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 30 --limit 80
80
+ you machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only --dry-run
81
+ you machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only
81
82
  ```
82
83
 
83
84
  7. Ask whether Houston wants to expand the workspace to all active projects
84
85
  from the last 90 days before calling the full project clone set complete:
85
86
 
86
87
  ```bash
87
- youmd project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 90 --limit 80
88
- youmd machine projects --root ~/Desktop/CODE_YOU --days 90 --recent-only --dry-run
89
- youmd machine projects --root ~/Desktop/CODE_YOU --days 90 --recent-only
88
+ you project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 90 --limit 80
89
+ you machine projects --root ~/Desktop/CODE_YOU --days 90 --recent-only --dry-run
90
+ you machine projects --root ~/Desktop/CODE_YOU --days 90 --recent-only
90
91
  ```
91
92
 
92
93
  8. If GitHub auth is missing, help the user log in and rerun only the project
@@ -94,7 +95,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
94
95
 
95
96
  ```bash
96
97
  gh auth login
97
- youmd machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only
98
+ you machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only
98
99
  ```
99
100
 
100
101
  9. After projects are cloned and any encrypted env vault is restored, hydrate the
@@ -102,19 +103,20 @@ You.md is the brain. The new machine should become a runnable local agent workst
102
103
  evidence becomes visible to future agents:
103
104
 
104
105
  ```bash
105
- youmd project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 30 --limit 80
106
+ you project portfolio-hydrate --root ~/Desktop/CODE_YOU --days 30 --limit 80
106
107
  ```
107
108
 
108
109
  10. Run the secret-safe readiness audit and sync the proof summary:
109
110
 
110
111
  ```bash
111
- youmd machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --write-report --sync-report
112
+ you machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --write-report --sync-report
112
113
  ```
113
114
 
114
115
  This checks cloned directories, git remotes, package managers, standard
115
116
  scripts, `.env.local` presence, `.env.example` presence, root agent docs, and
116
117
  `project-context/` presence. It writes a secret-safe JSON proof artifact to
117
- `~/.youmd/machine-reports/latest.json` and syncs only the compact proof
118
+ `~/.you/machine-reports/latest.json` with legacy `~/.youmd` fallback during
119
+ migration, and syncs only the compact proof
118
120
  summary to the You.md machine dashboard. It does not read secret values,
119
121
  upload raw logs, or launch every dev server.
120
122
 
@@ -122,7 +124,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
122
124
  enough time/CPU, run bounded package checks and dev-server probes:
123
125
 
124
126
  ```bash
125
- youmd machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --install-deps --run-checks --probe-servers --write-report --sync-report
127
+ you machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --install-deps --run-checks --probe-servers --write-report --sync-report
126
128
  ```
127
129
 
128
130
  The default check scripts are `typecheck`, `lint`, `test`, and `build`.
@@ -134,11 +136,11 @@ You.md is the brain. The new machine should become a runnable local agent workst
134
136
 
135
137
  - Use the You.md CLI and You Agent yourself before asking Houston to do manual
136
138
  work. Prefer deterministic commands for setup and proof:
137
- `youmd status`, `youmd whoami`, `youmd pull`, `youmd sync`,
138
- `youmd machine prompt`, `youmd machine setup`,
139
- `youmd skill install all`, `youmd skill sync`,
140
- `youmd env vault list`, `youmd env vault pull`,
141
- `youmd project portfolio-hydrate`, `youmd machine verify`,
139
+ `you status`, `you whoami`, `you pull`, `you sync`,
140
+ `you machine prompt`, `you machine setup`,
141
+ `you skill install all`, `you skill sync`,
142
+ `you env vault list`, `you env vault pull`,
143
+ `you project portfolio-hydrate`, `you machine verify`,
142
144
  `youmd agent status`, and `youmd agent inbox`.
143
145
  - Report setup milestones to Houston's other trusted Macs with the realtime
144
146
  agent bus instead of relying on clipboard/manual status relays:
@@ -148,7 +150,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
148
150
  ```
149
151
 
150
152
  This writes through Convex realtime and the receiving daemon materializes it
151
- into `~/.youmd/agent-bus/inbox.json` without reading or exposing `.env.local`
153
+ into `~/.you/agent-bus/inbox.json` without reading or exposing `.env.local`
152
154
  values.
153
155
  - Use `you` / `youmd chat` when you need the You Agent to synthesize context,
154
156
  route a natural-language request, or produce the setup artifact, then turn the
@@ -157,8 +159,8 @@ You.md is the brain. The new machine should become a runnable local agent workst
157
159
  command, verify the result, and report concise proof.
158
160
  - Interrupt Houston only for true human-gated steps: GitHub browser auth,
159
161
  source-Mac Secret Vault share if no trusted-device envelope exists yet, local
160
- vault passphrase/Keychain only when `YOUMD_ALLOW_LOCAL_ENV_VAULT_FALLBACK=1`
161
- or `YOUMD_ENV_VAULT` is explicitly provided, npm OTP, OS permissions, or the
162
+ vault passphrase/Keychain only when `YOU_ALLOW_LOCAL_ENV_VAULT_FALLBACK=1`
163
+ or `YOU_ENV_VAULT` is explicitly provided, npm OTP, OS permissions, or the
162
164
  explicit 90-day project expansion choice.
163
165
  - If the installed CLI is stale, run the curl installer/update path first, then
164
166
  retry the You.md command. Tell Houston when npm publish is needed for
@@ -175,7 +177,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
175
177
  - Use the You.md Portfolio Graph as the strategic source of truth, then merge
176
178
  authenticated GitHub recent-repo data and local bundle project records so repo
177
179
  names and URLs stay cloneable.
178
- - `youmd machine projects` should fetch the persisted owner graph through the
180
+ - `you machine projects` should fetch the persisted owner graph through the
179
181
  You.md API when authenticated. If that graph is unavailable, fall back to the
180
182
  local bundle plus authenticated GitHub scan and say so.
181
183
  - Clone with `gh repo clone owner/repo <target>` when `gh` is authenticated; otherwise fall back to `git clone`.
@@ -183,7 +185,7 @@ You.md is the brain. The new machine should become a runnable local agent workst
183
185
  - Never print secrets. If `.env.local` files are needed, use You.md Secret Vault
184
186
  or the shared encrypted env backup/restore path. Never paste raw env values
185
187
  into chat.
186
- - After cloning, initialize missing per-repo agent context with `youmd skill init-project` from inside that repo.
188
+ - After cloning, initialize missing per-repo agent context with `you skill init-project` from inside that repo.
187
189
 
188
190
  ## Secret-Safe Env Transfer
189
191
 
@@ -192,22 +194,22 @@ Audit local project env coverage before backup:
192
194
  ```bash
193
195
  ~/.agent-shared/bin/env-key-audit.py --root ~/Desktop/CODE_2025
194
196
  ~/.agent-shared/bin/env-secure-backup.sh --preflight
195
- youmd env backup --root ~/Desktop/CODE_2025 --preflight
197
+ you env backup --root ~/Desktop/CODE_2025 --preflight
196
198
  ```
197
199
 
198
200
  Primary path: from the old/source machine, create an encrypted archive and push
199
201
  only the ciphertext plus safe manifest metadata to You.md Secret Vault:
200
202
 
201
203
  ```bash
202
- youmd env vault push --root ~/Desktop/CODE_2025 --out ~/Desktop/youmd-env-vault
203
- youmd env vault list
204
+ you env vault push --root ~/Desktop/CODE_2025 --out ~/Desktop/youmd-env-vault
205
+ you env vault list
204
206
  ```
205
207
 
206
208
  On the new machine, register its local Secret Vault device key. The private key
207
- stays under `~/.youmd/secret-vault/devices/`; only the public key is synced:
209
+ stays under `~/.you/secret-vault/devices/`; only the public key is synced:
208
210
 
209
211
  ```bash
210
- youmd env vault device-register
212
+ you env vault device-register
211
213
  ```
212
214
 
213
215
  Back on the old/source machine, share local decrypt access to trusted devices.
@@ -215,19 +217,19 @@ This stores per-device encrypted passphrase envelopes; it does not upload raw en
215
217
  values:
216
218
 
217
219
  ```bash
218
- youmd env vault share
220
+ you env vault share
219
221
  ```
220
222
 
221
223
  On the new machine, pull the latest encrypted account snapshot and restore into
222
224
  already-cloned project directories without clobbering local agent auth:
223
225
 
224
226
  ```bash
225
- youmd env vault pull --restore --root ~/Desktop/CODE_YOU --map-existing --existing-only --skip-agent-auth
227
+ you env vault pull --restore --root ~/Desktop/CODE_YOU --map-existing --existing-only --skip-agent-auth
226
228
  ```
227
229
 
228
230
  If `pull --restore` says no trusted-device envelope exists for this Mac, do not
229
231
  ask Houston for raw secrets. Confirm `device-register` ran on the new Mac, run
230
- `youmd env vault share` on the source Mac, then rerun `pull --restore`.
232
+ `you env vault share` on the source Mac, then rerun `pull --restore`.
231
233
 
232
234
  Fallback path: create an encrypted archive from the old machine in an
233
235
  interactive macOS terminal and transfer the encrypted file by iCloud, AirDrop,
@@ -235,15 +237,15 @@ USB, or private password-manager attachment:
235
237
 
236
238
  ```bash
237
239
  open ~/.agent-shared/bin/env-backup-interactive.command
238
- youmd env backup --root ~/Desktop/CODE_2025 --out ~/Desktop/youmd-env-vault
240
+ you env backup --root ~/Desktop/CODE_2025 --out ~/Desktop/youmd-env-vault
239
241
  ```
240
242
 
241
243
  On the new machine, list the encrypted archive by path only before restore:
242
244
 
243
245
  ```bash
244
246
  ~/.agent-shared/bin/env-secure-restore.sh --archive ~/Desktop/env-local-backup.tar.gz.gpg --list
245
- youmd env restore ~/Desktop/env-local-backup.tar.gz.gpg --root ~/Desktop/CODE_YOU --list --map-existing --existing-only --skip-agent-auth
246
- youmd env restore ~/Desktop/env-local-backup.tar.gz.gpg --root ~/Desktop/CODE_YOU --map-existing --existing-only --skip-agent-auth
247
+ you env restore ~/Desktop/env-local-backup.tar.gz.gpg --root ~/Desktop/CODE_YOU --list --map-existing --existing-only --skip-agent-auth
248
+ you env restore ~/Desktop/env-local-backup.tar.gz.gpg --root ~/Desktop/CODE_YOU --map-existing --existing-only --skip-agent-auth
247
249
  ```
248
250
 
249
251
  If a headless agent still cannot decrypt after device sharing, then and only then
@@ -261,55 +263,55 @@ unset PW && echo "stored in Keychain"
261
263
  Dry-run the project layout:
262
264
 
263
265
  ```bash
264
- youmd machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only --dry-run
266
+ you machine projects --root ~/Desktop/CODE_YOU --days 30 --recent-only --dry-run
265
267
  ```
266
268
 
267
269
  Create directories only, without cloning:
268
270
 
269
271
  ```bash
270
- youmd machine projects --root ~/Desktop/CODE_YOU --no-clone
272
+ you machine projects --root ~/Desktop/CODE_YOU --no-clone
271
273
  ```
272
274
 
273
275
  Audit cloned readiness:
274
276
 
275
277
  ```bash
276
- youmd machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --write-report --sync-report
278
+ you machine verify --root ~/Desktop/CODE_YOU --max-projects 80 --write-report --sync-report
277
279
  ```
278
280
 
279
281
  Run bounded package checks:
280
282
 
281
283
  ```bash
282
- youmd machine verify --root ~/Desktop/CODE_YOU --run-checks --max-check-projects 8 --check-timeout-ms 120000
284
+ you machine verify --root ~/Desktop/CODE_YOU --run-checks --max-check-projects 8 --check-timeout-ms 120000
283
285
  ```
284
286
 
285
287
  Run clean-host dependency installs and localhost dev-server probes:
286
288
 
287
289
  ```bash
288
- youmd machine verify --root ~/Desktop/CODE_YOU --install-deps --probe-servers --write-report --sync-report
290
+ you machine verify --root ~/Desktop/CODE_YOU --install-deps --probe-servers --write-report --sync-report
289
291
  ```
290
292
 
291
293
  Include older projects without prompts:
292
294
 
293
295
  ```bash
294
- youmd machine projects --root ~/Desktop/CODE_YOU --yes
296
+ you machine projects --root ~/Desktop/CODE_YOU --yes
295
297
  ```
296
298
 
297
299
  Generate the copy/paste prompt for a new Claude Code or Codex terminal:
298
300
 
299
301
  ```bash
300
- youmd machine prompt --root ~/Desktop/CODE_YOU --days 30 --limit 80 --require-env-vault
302
+ you machine prompt --root ~/Desktop/CODE_YOU --days 30 --limit 80 --require-env-vault
301
303
  ```
302
304
 
303
305
  Generate the same prompt but cap clones for a clean-host proof run:
304
306
 
305
307
  ```bash
306
- youmd machine prompt --root /tmp/youmd-clean-host-CODE_YOU --days 30 --limit 80 --max-clone-projects 2 --require-env-vault
308
+ you machine prompt --root /tmp/you-clean-host-CODE_YOU --days 30 --limit 80 --max-clone-projects 2 --require-env-vault
307
309
  ```
308
310
 
309
311
  Fetch the secret-safe project graph directly:
310
312
 
311
313
  ```bash
312
- curl -H "Authorization: Bearer $YOUMD_API_KEY" https://you.md/api/v1/me/portfolio/graph
314
+ curl -H "Authorization: Bearer $YOU_API_KEY" https://you.md/api/v1/me/portfolio/graph
313
315
  ```
314
316
 
315
317
  ## Done Means
@@ -321,9 +323,9 @@ curl -H "Authorization: Bearer $YOUMD_API_KEY" https://you.md/api/v1/me/portfoli
321
323
  - Active GitHub-backed project repos are cloned into matching repo-name directories.
322
324
  - The clone plan visibly used the persisted portfolio graph, authenticated
323
325
  GitHub recent repos, and local bundle records with source counts.
324
- - `youmd machine verify` reports git/package/env/agent-doc/project-context
326
+ - `you machine verify` reports git/package/env/agent-doc/project-context
325
327
  readiness for the cloned workspace without reading `.env.local` values and
326
- writes `~/.youmd/machine-reports/latest.json`.
328
+ writes `~/.you/machine-reports/latest.json`.
327
329
  - `--sync-report` creates or updates an owner-gated You.md machine proof row
328
330
  that the dashboard can show across computers.
329
331
  - If `--run-checks` was requested, bounded package checks ran with project and