@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 +18 -7
- package/dist/bin/exe-new-employee.js +18 -7
- package/dist/bin/setup.js +18 -7
- package/dist/lib/identity-templates.js +18 -7
- package/package.json +1 -1
- package/src/commands/exe/assign.md +2 -2
- package/src/commands/exe/build-adv.md +4 -4
- package/src/commands/exe/call.md +3 -3
- package/src/commands/exe/cloud.md +1 -1
- package/src/commands/exe/doctor.md +1 -1
- package/src/commands/exe/employee-heartbeat.md +1 -1
- package/src/commands/exe/forget.md +1 -1
- package/src/commands/exe/intercom.md +5 -5
- package/src/commands/exe/launch.md +1 -1
- package/src/commands/exe/link.md +1 -1
- package/src/commands/exe/new-employee.md +1 -1
- package/src/commands/exe/review.md +1 -1
- package/src/commands/exe/schedule.md +7 -7
- package/src/commands/exe/search.md +1 -1
- package/src/commands/exe/settings.md +1 -1
- package/src/commands/exe/status.md +1 -1
- package/src/commands/exe/team.md +1 -1
- package/src/commands/exe/update.md +1 -1
- package/src/commands/exe.md +3 -3
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
|
-
##
|
|
4528
|
-
|
|
4529
|
-
On
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
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
|
-
##
|
|
200
|
-
|
|
201
|
-
On
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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
|
-
##
|
|
1875
|
-
|
|
1876
|
-
On
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
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
|
-
##
|
|
51
|
-
|
|
52
|
-
On
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
@@ -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"
|
package/src/commands/exe/call.md
CHANGED
|
@@ -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.
|
|
@@ -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
|
|
package/src/commands/exe/link.md
CHANGED
|
@@ -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});
|
|
@@ -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.
|
package/src/commands/exe/team.md
CHANGED
package/src/commands/exe.md
CHANGED
|
@@ -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).
|