@askexenow/exe-os 0.8.28 → 0.8.30

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/dist/bin/cli.js CHANGED
@@ -4524,13 +4524,24 @@ You are \${agent_id}. COO \u2014 the founder's most reliable teammate in busines
4524
4524
  - Pattern recognition: surface recurring problems, connect dots across projects
4525
4525
  - Architecture guardian (strategic): verify all work aligns with the PRODUCT VISION and five-mode architecture in .planning/ARCHITECTURE.md. Is this the right feature at the right time? Does it match the build order?
4526
4526
 
4527
- ## First Boot \u2014 Memory Onboarding
4528
-
4529
- On your FIRST conversation (when you have few or no prior interactions with the founder):
4530
- 1. Run recall_my_memory with broad queries to discover what exists: search for "project", "client", "pipeline", "SEO", "campaign", "product", "deal", "meeting"
4531
- 2. Summarize what you find: "You've been working on X, Y, Z. Here's what I know about each."
4532
- 3. If memories exist from a backfill, proactively tell the founder what you learned from their history
4533
- 4. Ask what's most important right now
4527
+ ## Every Session \u2014 Status Brief
4528
+
4529
+ On EVERY new conversation, before doing anything else:
4530
+
4531
+ 1. **Memory scan**: Run recall_my_memory with broad queries \u2014 "project", "client", "pipeline", "campaign", "deal", "decision", "blocker". Summarize what you find.
4532
+ 2. **Task scan**: Run list_tasks to see what's open, in progress, blocked, or needs review across all employees.
4533
+ 3. **Team check**: Run ask_team_memory for recent activity from CTO/CMO/engineers.
4534
+ 4. **Present the brief**: Give the founder a concise status report:
4535
+ - What's active and progressing
4536
+ - What's blocked and needs attention
4537
+ - What decisions are pending
4538
+ - What you recommend doing next
4539
+ 5. Then ask: "What's the priority?"
4540
+
4541
+ If this is your FIRST ever conversation (few or no prior memories):
4542
+ - Search more broadly: "product", "SEO", "meeting", "strategy", "revenue"
4543
+ - Proactively summarize what you learned from backfilled history
4544
+ - Introduce yourself and what you can do
4534
4545
 
4535
4546
  Never say "I have no memories" without first searching broadly. Your memory may contain thousands of entries \u2014 surface them by searching for domain-relevant terms, not meta-queries like "what do I know."
4536
4547
 
@@ -196,13 +196,24 @@ You are \${agent_id}. COO \u2014 the founder's most reliable teammate in busines
196
196
  - Pattern recognition: surface recurring problems, connect dots across projects
197
197
  - Architecture guardian (strategic): verify all work aligns with the PRODUCT VISION and five-mode architecture in .planning/ARCHITECTURE.md. Is this the right feature at the right time? Does it match the build order?
198
198
 
199
- ## First Boot \u2014 Memory Onboarding
200
-
201
- On your FIRST conversation (when you have few or no prior interactions with the founder):
202
- 1. Run recall_my_memory with broad queries to discover what exists: search for "project", "client", "pipeline", "SEO", "campaign", "product", "deal", "meeting"
203
- 2. Summarize what you find: "You've been working on X, Y, Z. Here's what I know about each."
204
- 3. If memories exist from a backfill, proactively tell the founder what you learned from their history
205
- 4. Ask what's most important right now
199
+ ## Every Session \u2014 Status Brief
200
+
201
+ On EVERY new conversation, before doing anything else:
202
+
203
+ 1. **Memory scan**: Run recall_my_memory with broad queries \u2014 "project", "client", "pipeline", "campaign", "deal", "decision", "blocker". Summarize what you find.
204
+ 2. **Task scan**: Run list_tasks to see what's open, in progress, blocked, or needs review across all employees.
205
+ 3. **Team check**: Run ask_team_memory for recent activity from CTO/CMO/engineers.
206
+ 4. **Present the brief**: Give the founder a concise status report:
207
+ - What's active and progressing
208
+ - What's blocked and needs attention
209
+ - What decisions are pending
210
+ - What you recommend doing next
211
+ 5. Then ask: "What's the priority?"
212
+
213
+ If this is your FIRST ever conversation (few or no prior memories):
214
+ - Search more broadly: "product", "SEO", "meeting", "strategy", "revenue"
215
+ - Proactively summarize what you learned from backfilled history
216
+ - Introduce yourself and what you can do
206
217
 
207
218
  Never say "I have no memories" without first searching broadly. Your memory may contain thousands of entries \u2014 surface them by searching for domain-relevant terms, not meta-queries like "what do I know."
208
219
 
package/dist/bin/setup.js CHANGED
@@ -1871,13 +1871,24 @@ You are \${agent_id}. COO \u2014 the founder's most reliable teammate in busines
1871
1871
  - Pattern recognition: surface recurring problems, connect dots across projects
1872
1872
  - Architecture guardian (strategic): verify all work aligns with the PRODUCT VISION and five-mode architecture in .planning/ARCHITECTURE.md. Is this the right feature at the right time? Does it match the build order?
1873
1873
 
1874
- ## First Boot \u2014 Memory Onboarding
1875
-
1876
- On your FIRST conversation (when you have few or no prior interactions with the founder):
1877
- 1. Run recall_my_memory with broad queries to discover what exists: search for "project", "client", "pipeline", "SEO", "campaign", "product", "deal", "meeting"
1878
- 2. Summarize what you find: "You've been working on X, Y, Z. Here's what I know about each."
1879
- 3. If memories exist from a backfill, proactively tell the founder what you learned from their history
1880
- 4. Ask what's most important right now
1874
+ ## Every Session \u2014 Status Brief
1875
+
1876
+ On EVERY new conversation, before doing anything else:
1877
+
1878
+ 1. **Memory scan**: Run recall_my_memory with broad queries \u2014 "project", "client", "pipeline", "campaign", "deal", "decision", "blocker". Summarize what you find.
1879
+ 2. **Task scan**: Run list_tasks to see what's open, in progress, blocked, or needs review across all employees.
1880
+ 3. **Team check**: Run ask_team_memory for recent activity from CTO/CMO/engineers.
1881
+ 4. **Present the brief**: Give the founder a concise status report:
1882
+ - What's active and progressing
1883
+ - What's blocked and needs attention
1884
+ - What decisions are pending
1885
+ - What you recommend doing next
1886
+ 5. Then ask: "What's the priority?"
1887
+
1888
+ If this is your FIRST ever conversation (few or no prior memories):
1889
+ - Search more broadly: "product", "SEO", "meeting", "strategy", "revenue"
1890
+ - Proactively summarize what you learned from backfilled history
1891
+ - Introduce yourself and what you can do
1881
1892
 
1882
1893
  Never say "I have no memories" without first searching broadly. Your memory may contain thousands of entries \u2014 surface them by searching for domain-relevant terms, not meta-queries like "what do I know."
1883
1894
 
@@ -47,13 +47,24 @@ You are \${agent_id}. COO \u2014 the founder's most reliable teammate in busines
47
47
  - Pattern recognition: surface recurring problems, connect dots across projects
48
48
  - Architecture guardian (strategic): verify all work aligns with the PRODUCT VISION and five-mode architecture in .planning/ARCHITECTURE.md. Is this the right feature at the right time? Does it match the build order?
49
49
 
50
- ## First Boot \u2014 Memory Onboarding
51
-
52
- On your FIRST conversation (when you have few or no prior interactions with the founder):
53
- 1. Run recall_my_memory with broad queries to discover what exists: search for "project", "client", "pipeline", "SEO", "campaign", "product", "deal", "meeting"
54
- 2. Summarize what you find: "You've been working on X, Y, Z. Here's what I know about each."
55
- 3. If memories exist from a backfill, proactively tell the founder what you learned from their history
56
- 4. Ask what's most important right now
50
+ ## Every Session \u2014 Status Brief
51
+
52
+ On EVERY new conversation, before doing anything else:
53
+
54
+ 1. **Memory scan**: Run recall_my_memory with broad queries \u2014 "project", "client", "pipeline", "campaign", "deal", "decision", "blocker". Summarize what you find.
55
+ 2. **Task scan**: Run list_tasks to see what's open, in progress, blocked, or needs review across all employees.
56
+ 3. **Team check**: Run ask_team_memory for recent activity from CTO/CMO/engineers.
57
+ 4. **Present the brief**: Give the founder a concise status report:
58
+ - What's active and progressing
59
+ - What's blocked and needs attention
60
+ - What decisions are pending
61
+ - What you recommend doing next
62
+ 5. Then ask: "What's the priority?"
63
+
64
+ If this is your FIRST ever conversation (few or no prior memories):
65
+ - Search more broadly: "product", "SEO", "meeting", "strategy", "revenue"
66
+ - Proactively summarize what you learned from backfilled history
67
+ - Introduce yourself and what you can do
57
68
 
58
69
  Never say "I have no memories" without first searching broadly. Your memory may contain thousands of entries \u2014 surface them by searching for domain-relevant terms, not meta-queries like "what do I know."
59
70
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.8.28",
3
+ "version": "0.8.30",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "type": "module",
@@ -8,10 +8,10 @@ Assign a task to the best specialist or a named employee.
8
8
 
9
9
  Auto-route (finds best match):
10
10
  ```bash
11
- node "$(npm root -g)/exe-os/dist/bin/exe-assign.js" "debug the auth timeout"
11
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-assign.js" "debug the auth timeout"
12
12
  ```
13
13
 
14
14
  Direct assign:
15
15
  ```bash
16
- node "$(npm root -g)/exe-os/dist/bin/exe-assign.js" yoshi "debug the auth timeout"
16
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-assign.js" yoshi "debug the auth timeout"
17
17
  ```
@@ -181,8 +181,8 @@ For each subtask, call create_task with:
181
181
  **VERIFY:**
182
182
  ```bash
183
183
  SUBTASK_COUNT=$(node -e "
184
- const {getClient}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/turso.js'));
185
- const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/store.js'));
184
+ const {getClient}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/turso.js'));
185
+ const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/store.js'));
186
186
  (async()=>{await initStore();const c=getClient();const r=await c.execute({sql:\"SELECT COUNT(*) as cnt FROM tasks WHERE title LIKE 'build-adv/{slug}%' AND status != 'done'\",args:[]});console.log(Number(r.rows[0]?.cnt??0))})()
187
187
  " 2>/dev/null)
188
188
  [ "$SUBTASK_COUNT" -gt 0 ] 2>/dev/null && echo "CHECKPOINT_PASS:${SUBTASK_COUNT}_subtasks" || echo "CHECKPOINT_FAIL:no_subtasks_in_db"
@@ -319,8 +319,8 @@ node -e "const f='exe/output/{slug}/build-state.json'; const s=JSON.parse(requir
319
319
  **VERIFY:**
320
320
  ```bash
321
321
  OPEN_COUNT=$(node -e "
322
- const {getClient}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/turso.js'));
323
- const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/store.js'));
322
+ const {getClient}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/turso.js'));
323
+ const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/store.js'));
324
324
  (async()=>{await initStore();const c=getClient();const r=await c.execute({sql:\"SELECT COUNT(*) as cnt FROM tasks WHERE title LIKE 'build-adv/{slug}%' AND status NOT IN ('done','cancelled')\",args:[]});console.log(Number(r.rows[0]?.cnt??0))})()
325
325
  " 2>/dev/null)
326
326
  [ "$OPEN_COUNT" -eq 0 ] 2>/dev/null && echo "CHECKPOINT_PASS" || echo "CHECKPOINT_FAIL:${OPEN_COUNT}_subtasks_still_open"
@@ -67,7 +67,7 @@ Employee sessions are named `{name}-{exeSession}` (e.g., `yoshi-exe1`) or `{name
67
67
  ```bash
68
68
  NAME="$ARGUMENTS"
69
69
  EXE_SESSION=$(tmux display-message -p '#{session_name}' 2>/dev/null)
70
- RESULT=$(node -e "const {ensureEmployee}=require('$(npm root -g)/exe-os/dist/lib/tmux-routing.js'); const r=ensureEmployee('${NAME}','${EXE_SESSION}','$(pwd)'); console.log(JSON.stringify(r));")
70
+ RESULT=$(node -e "const {ensureEmployee}=require('$(npm root -g)/@askexenow/exe-os/dist/lib/tmux-routing.js'); const r=ensureEmployee('${NAME}','${EXE_SESSION}','$(pwd)'); console.log(JSON.stringify(r));")
71
71
  echo "$RESULT"
72
72
  ```
73
73
  Report the result and STOP HERE. Do not continue to step 1.
@@ -102,7 +102,7 @@ export AGENT_ROLE="${ROLE}"
102
102
  MY_SESSION=$(tmux display-message -p '#{session_name}' 2>/dev/null)
103
103
  DISPATCH_INFO="$HOME/.exe-os/session-cache/dispatch-info-${MY_SESSION}.json"
104
104
  DISPATCHED_BY=$(node -e "try{const d=JSON.parse(require('fs').readFileSync('$DISPATCH_INFO','utf8'));console.log(d.dispatchedBy||'')}catch{console.log('')}" 2>/dev/null)
105
- node -e "const {parseParentExe,registerParentExe}=require('$(npm root -g)/exe-os/dist/lib/tmux-routing.js'); const p=parseParentExe('$MY_SESSION','$NAME'); if(p) registerParentExe('$KEY',p,'$DISPATCHED_BY'||undefined);"
105
+ node -e "const {parseParentExe,registerParentExe}=require('$(npm root -g)/@askexenow/exe-os/dist/lib/tmux-routing.js'); const p=parseParentExe('$MY_SESSION','$NAME'); if(p) registerParentExe('$KEY',p,'$DISPATCHED_BY'||undefined);"
106
106
  ```
107
107
 
108
108
  2. Ensure exe folder structure exists and scan for open tasks:
@@ -114,7 +114,7 @@ if [ -f .gitignore ]; then
114
114
  else
115
115
  echo -e '# Employee task assignments (private)\n/exe/' > .gitignore
116
116
  fi
117
- node "$(npm root -g)/exe-os/dist/bin/scan-tasks.js" "exe/$ARGUMENTS" --format=mandatory 2>/dev/null
117
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/scan-tasks.js" "exe/$ARGUMENTS" --format=mandatory 2>/dev/null
118
118
  ```
119
119
 
120
120
  3. Check memories for context from exe:
@@ -11,7 +11,7 @@ One command to link a device and enable cloud sync.
11
11
  - `/exe-cloud status` — show current sync status and key fingerprint
12
12
 
13
13
  ```bash
14
- node "$(npm root -g)/exe-os/dist/bin/exe-cloud.js" $ARGUMENTS
14
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-cloud.js" $ARGUMENTS
15
15
  ```
16
16
 
17
17
  **Note:** `/exe-link` is deprecated. Use `/exe-cloud` instead.
@@ -6,5 +6,5 @@ allowed-tools: Bash
6
6
  Run a full memory health audit showing total memories, per-agent breakdown, date range, and any issues.
7
7
 
8
8
  ```bash
9
- node "$(npm root -g)/exe-os/dist/bin/exe-doctor.js" $ARGUMENTS
9
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-doctor.js" $ARGUMENTS
10
10
  ```
@@ -37,7 +37,7 @@ if [ -f "$ACTIVITY_FILE" ]; then
37
37
  fi
38
38
 
39
39
  # Use canonical scanner — single source of truth for task status detection
40
- node "$(npm root -g)/exe-os/dist/bin/scan-tasks.js" "exe/$AGENT" --format=mandatory 2>/dev/null
40
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/scan-tasks.js" "exe/$AGENT" --format=mandatory 2>/dev/null
41
41
  ```
42
42
 
43
43
  **If the script outputs task info:** read the task file and begin working immediately. Do not ask what to do.
@@ -11,5 +11,5 @@ Usage:
11
11
  - `/exe-forget --query "<search>"` — delete memories matching a search query
12
12
 
13
13
  ```bash
14
- node "$(npm root -g)/exe-os/dist/bin/exe-forget.js" "$ARGUMENTS"
14
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-forget.js" "$ARGUMENTS"
15
15
  ```
@@ -24,23 +24,23 @@ fi
24
24
 
25
25
  # Exe gets review notifications instead of task dispatch
26
26
  if [ "$AGENT" = "exe" ]; then
27
- node "$(npm root -g)/exe-os/dist/bin/exe-pending-reviews.js" 2>/dev/null
27
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-pending-reviews.js" 2>/dev/null
28
28
  # Exe also subscribes to notifications (subtasks_complete, task_complete, etc.)
29
29
  # so parent-of-parent rollups surface live instead of only at boot.
30
- node "$(npm root -g)/exe-os/dist/bin/exe-pending-notifications.js" "$AGENT" 2>/dev/null
30
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-pending-notifications.js" "$AGENT" 2>/dev/null
31
31
  exit 0
32
32
  fi
33
33
 
34
34
  # Use canonical scanner — single source of truth for task status detection
35
- node "$(npm root -g)/exe-os/dist/bin/scan-tasks.js" "exe/$AGENT" --format=mandatory 2>/dev/null
35
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/scan-tasks.js" "exe/$AGENT" --format=mandatory 2>/dev/null
36
36
 
37
37
  # Check for pending messages
38
- node "$(npm root -g)/exe-os/dist/bin/exe-pending-messages.js" "$AGENT" 2>/dev/null
38
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-pending-messages.js" "$AGENT" 2>/dev/null
39
39
 
40
40
  # Check for pending notifications (subtasks_complete, rollup signals, etc.)
41
41
  # Employees acting as parent-of-parents (e.g. yoshi holding multiple parent
42
42
  # tasks) need these too — not only exe. See the parent-cascade audit §6.
43
- node "$(npm root -g)/exe-os/dist/bin/exe-pending-notifications.js" "$AGENT" 2>/dev/null
43
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-pending-notifications.js" "$AGENT" 2>/dev/null
44
44
  ```
45
45
 
46
46
  ### For exe (AGENT=exe)
@@ -33,7 +33,7 @@ For each name in $ARGUMENTS, verify it exists in the roster. If any name is not
33
33
  ```bash
34
34
  NAME="<employee>"
35
35
  EXE_SESSION=$(tmux display-message -p '#{session_name}' 2>/dev/null)
36
- RESULT=$(node -e "const {ensureEmployee}=require('$(npm root -g)/exe-os/dist/lib/tmux-routing.js'); const r=ensureEmployee('${NAME}','${EXE_SESSION}','$(pwd)'); console.log(JSON.stringify(r));")
36
+ RESULT=$(node -e "const {ensureEmployee}=require('$(npm root -g)/@askexenow/exe-os/dist/lib/tmux-routing.js'); const r=ensureEmployee('${NAME}','${EXE_SESSION}','$(pwd)'); console.log(JSON.stringify(r));")
37
37
  echo "${NAME}: ${RESULT}"
38
38
  ```
39
39
 
@@ -13,5 +13,5 @@ argument-hint: [export|import]
13
13
  Legacy command still works:
14
14
 
15
15
  ```bash
16
- node "$(npm root -g)/exe-os/dist/bin/exe-link.js" $ARGUMENTS
16
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-link.js" $ARGUMENTS
17
17
  ```
@@ -8,5 +8,5 @@ Create a new named employee for the exe-os system.
8
8
 
9
9
  Run this command:
10
10
  ```bash
11
- node "$(npm root -g)/exe-os/dist/bin/exe-new-employee.js" $ARGUMENTS
11
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-new-employee.js" $ARGUMENTS
12
12
  ```
@@ -10,5 +10,5 @@ update organizational memory with the outcomes.
10
10
 
11
11
  Run this command:
12
12
  ```bash
13
- node "$(npm root -g)/exe-os/dist/bin/exe-review.js" $ARGUMENTS
13
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-review.js" $ARGUMENTS
14
14
  ```
@@ -21,8 +21,8 @@ Determine the action:
21
21
 
22
22
  ```bash
23
23
  node -e "
24
- const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/store.js'));
25
- const {listSchedules}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/schedules.js'));
24
+ const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/store.js'));
25
+ const {listSchedules}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/schedules.js'));
26
26
  (async()=>{
27
27
  await initStore();
28
28
  const schedules=await listSchedules();
@@ -45,8 +45,8 @@ Print the output as-is.
45
45
  ```bash
46
46
  ID="<extracted-id>"
47
47
  node -e "
48
- const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/store.js'));
49
- const {deleteSchedule}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/schedules.js'));
48
+ const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/store.js'));
49
+ const {deleteSchedule}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/schedules.js'));
50
50
  (async()=>{
51
51
  await initStore();
52
52
  const ok=await deleteSchedule('${ID}');
@@ -66,7 +66,7 @@ node -e "
66
66
  ```bash
67
67
  TIME_EXPR="<extracted-time>"
68
68
  node -e "
69
- const {parseHumanCron}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/schedules.js'));
69
+ const {parseHumanCron}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/schedules.js'));
70
70
  console.log(parseHumanCron('${TIME_EXPR}'))
71
71
  " 2>/dev/null
72
72
  ```
@@ -89,8 +89,8 @@ DESC="<description>"
89
89
  TYPE="<job-type>"
90
90
  CRONTAB="<0-or-1>"
91
91
  node -e "
92
- const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/store.js'));
93
- const {createSchedule}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'exe-os/dist/lib/schedules.js'));
92
+ const {initStore}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/store.js'));
93
+ const {createSchedule}=require(require('path').join(require('child_process').execSync('npm root -g',{encoding:'utf8'}).trim(),'@askexenow/exe-os/dist/lib/schedules.js'));
94
94
  (async()=>{
95
95
  await initStore();
96
96
  const s=await createSchedule({cron:'${CRON}',description:'${DESC}',jobType:'${TYPE}',useCrontab:${CRONTAB}===1});
@@ -9,5 +9,5 @@ Usage: `/exe-search <query>`
9
9
 
10
10
  Run this command with the user's query:
11
11
  ```bash
12
- node "$(npm root -g)/exe-os/dist/bin/exe-search.js" "$ARGUMENTS"
12
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-search.js" "$ARGUMENTS"
13
13
  ```
@@ -9,5 +9,5 @@ Configure auto-ingestion, auto-retrieval, and search mode.
9
9
  Run this command to open the settings menu:
10
10
 
11
11
  ```bash
12
- node "$(npm root -g)/exe-os/dist/bin/exe-settings.js"
12
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-settings.js"
13
13
  ```
@@ -8,7 +8,7 @@ Show real-time employee status by capturing tmux pane output.
8
8
 
9
9
  Run:
10
10
  ```bash
11
- node "$(npm root -g)/exe-os/dist/bin/exe-status.js" $ARGUMENTS 2>/dev/null
11
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-status.js" $ARGUMENTS 2>/dev/null
12
12
  ```
13
13
 
14
14
  Print the output EXACTLY as-is — it is pre-formatted with box-drawing characters.
@@ -7,5 +7,5 @@ Show all registered employees, their roles, memory counts, and creation dates.
7
7
 
8
8
  Run this command:
9
9
  ```bash
10
- node "$(npm root -g)/exe-os/dist/bin/exe-team.js"
10
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-team.js"
11
11
  ```
@@ -7,5 +7,5 @@ Check if a newer version of exe-os is available on npm and optionally install it
7
7
 
8
8
  Run this command:
9
9
  ```bash
10
- node "$(npm root -g)/exe-os/dist/bin/update.js"
10
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/update.js"
11
11
  ```
@@ -133,7 +133,7 @@ When an employee sends `context-full: <name> hit capacity. Checkpoint saved. Res
133
133
  After completing a review (or batch of reviews), re-check for new reviews:
134
134
 
135
135
  ```bash
136
- node "$(npm root -g)/exe-os/dist/bin/exe-pending-reviews.js" 2>/dev/null
136
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-pending-reviews.js" 2>/dev/null
137
137
  ```
138
138
 
139
139
  If more reviews exist, start reviewing them immediately. Do NOT stop and wait for the founder. Keep chaining until the queue is empty. Only then resume normal conversation.
@@ -149,7 +149,7 @@ You manage 10-20+ projects. When the founder asks "what's going on," give the re
149
149
  Run the boot script:
150
150
 
151
151
  ```bash
152
- node "$(npm root -g)/exe-os/dist/bin/exe-boot.js"
152
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-boot.js"
153
153
  ```
154
154
 
155
155
  **The user already sees the bash output. Do NOT reproduce, summarize, reformat, or comment on it.**
@@ -160,7 +160,7 @@ Say nothing after the script runs. The user will speak first.
160
160
  When the founder asks about status, reviews, tasks, progress, or "what's going on" at ANY point AFTER the initial boot — re-run the status query. NEVER reference the boot snapshot for current state.
161
161
 
162
162
  ```bash
163
- node "$(npm root -g)/exe-os/dist/bin/exe-boot.js" --brief-only
163
+ node "$(npm root -g)/@askexenow/exe-os/dist/bin/exe-boot.js" --brief-only
164
164
  ```
165
165
 
166
166
  The boot snapshot is context for session start. For any subsequent status question, the DB is the source of truth. Query it. `--brief-only` is fast (read-only, no reconciliation, no side effects).