jfl 0.1.1 → 0.2.1
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 +77 -7
- package/clawdbot-plugin/clawdbot.plugin.json +20 -0
- package/clawdbot-plugin/index.js +555 -0
- package/clawdbot-plugin/index.ts +582 -0
- package/clawdbot-skill/SKILL.md +33 -336
- package/clawdbot-skill/index.ts +516 -319
- package/clawdbot-skill/skill.json +4 -13
- package/dist/commands/clawdbot.d.ts +11 -0
- package/dist/commands/clawdbot.d.ts.map +1 -0
- package/dist/commands/clawdbot.js +215 -0
- package/dist/commands/clawdbot.js.map +1 -0
- package/dist/commands/gtm-process-update.d.ts +10 -0
- package/dist/commands/gtm-process-update.d.ts.map +1 -0
- package/dist/commands/gtm-process-update.js +101 -0
- package/dist/commands/gtm-process-update.js.map +1 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +203 -15
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/openclaw.d.ts +56 -0
- package/dist/commands/openclaw.d.ts.map +1 -0
- package/dist/commands/openclaw.js +700 -0
- package/dist/commands/openclaw.js.map +1 -0
- package/dist/commands/service-validate.d.ts +12 -0
- package/dist/commands/service-validate.d.ts.map +1 -0
- package/dist/commands/service-validate.js +611 -0
- package/dist/commands/service-validate.js.map +1 -0
- package/dist/commands/services-create.d.ts +15 -0
- package/dist/commands/services-create.d.ts.map +1 -0
- package/dist/commands/services-create.js +1452 -0
- package/dist/commands/services-create.js.map +1 -0
- package/dist/commands/services-sync-agents.d.ts +23 -0
- package/dist/commands/services-sync-agents.d.ts.map +1 -0
- package/dist/commands/services-sync-agents.js +207 -0
- package/dist/commands/services-sync-agents.js.map +1 -0
- package/dist/commands/services.d.ts +7 -1
- package/dist/commands/services.d.ts.map +1 -1
- package/dist/commands/services.js +347 -22
- package/dist/commands/services.js.map +1 -1
- package/dist/commands/update.js +0 -0
- package/dist/commands/validate-settings.d.ts +37 -0
- package/dist/commands/validate-settings.d.ts.map +1 -0
- package/dist/commands/validate-settings.js +197 -0
- package/dist/commands/validate-settings.js.map +1 -0
- package/dist/index.js +155 -60
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-generator.d.ts.map +1 -1
- package/dist/lib/agent-generator.js +94 -1
- package/dist/lib/agent-generator.js.map +1 -1
- package/dist/lib/openclaw-registry.d.ts +48 -0
- package/dist/lib/openclaw-registry.d.ts.map +1 -0
- package/dist/lib/openclaw-registry.js +181 -0
- package/dist/lib/openclaw-registry.js.map +1 -0
- package/dist/lib/openclaw-sdk.d.ts +107 -0
- package/dist/lib/openclaw-sdk.d.ts.map +1 -0
- package/dist/lib/openclaw-sdk.js +208 -0
- package/dist/lib/openclaw-sdk.js.map +1 -0
- package/dist/lib/peer-agent-generator.d.ts +44 -0
- package/dist/lib/peer-agent-generator.d.ts.map +1 -0
- package/dist/lib/peer-agent-generator.js +286 -0
- package/dist/lib/peer-agent-generator.js.map +1 -0
- package/dist/lib/service-detector.d.ts +1 -1
- package/dist/lib/service-detector.d.ts.map +1 -1
- package/dist/lib/service-detector.js +118 -5
- package/dist/lib/service-detector.js.map +1 -1
- package/dist/lib/service-gtm.d.ts +157 -0
- package/dist/lib/service-gtm.d.ts.map +1 -0
- package/dist/lib/service-gtm.js +786 -0
- package/dist/lib/service-gtm.js.map +1 -0
- package/dist/lib/service-mcp-base.d.ts +10 -1
- package/dist/lib/service-mcp-base.d.ts.map +1 -1
- package/dist/lib/service-mcp-base.js +20 -1
- package/dist/lib/service-mcp-base.js.map +1 -1
- package/dist/mcp/service-peer-mcp.d.ts +36 -0
- package/dist/mcp/service-peer-mcp.d.ts.map +1 -0
- package/dist/mcp/service-peer-mcp.js +220 -0
- package/dist/mcp/service-peer-mcp.js.map +1 -0
- package/dist/mcp/service-registry-mcp.js +0 -0
- package/dist/utils/settings-validator.d.ts +4 -1
- package/dist/utils/settings-validator.d.ts.map +1 -1
- package/dist/utils/settings-validator.js +25 -1
- package/dist/utils/settings-validator.js.map +1 -1
- package/package.json +2 -1
- package/template/.claude/service-settings.json +32 -0
- package/template/.claude/settings.json +10 -0
- package/template/.claude/skills/end/SKILL.md +1780 -0
- package/template/.jfl/config.json +2 -1
- package/template/.mcp.json +1 -7
- package/template/CLAUDE.md +1042 -248
- package/template/CLAUDE.md.bak +1187 -0
- package/template/scripts/commit-gtm.sh +56 -0
- package/template/scripts/commit-product.sh +68 -0
- package/template/scripts/migrate-to-branch-sessions.sh +201 -0
- package/template/scripts/session/auto-commit.sh +4 -3
- package/template/scripts/session/jfl-doctor.sh +222 -83
- package/template/scripts/session/session-cleanup.sh +109 -21
- package/template/scripts/session/session-end.sh +26 -13
- package/template/scripts/session/session-init.sh +280 -98
- package/template/scripts/session/test-critical-infrastructure.sh +293 -0
- package/template/scripts/session/test-experience-level.sh +336 -0
- package/template/scripts/session/test-session-cleanup.sh +268 -0
- package/template/scripts/session/test-session-sync.sh +320 -0
- package/template/scripts/where-am-i.sh +78 -0
- package/template/templates/service-agent/.claude/settings.json +32 -0
- package/template/templates/service-agent/CLAUDE.md +334 -0
- package/template/templates/service-agent/knowledge/ARCHITECTURE.md +115 -0
- package/template/templates/service-agent/knowledge/DEPLOYMENT.md +199 -0
- package/template/templates/service-agent/knowledge/RUNBOOK.md +412 -0
- package/template/templates/service-agent/knowledge/SERVICE_SPEC.md +77 -0
- package/dist/commands/session-mgmt.d.ts +0 -33
- package/dist/commands/session-mgmt.d.ts.map +0 -1
- package/dist/commands/session-mgmt.js +0 -404
- package/dist/commands/session-mgmt.js.map +0 -1
|
@@ -1,28 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "jfl
|
|
3
|
-
"version": "
|
|
2
|
+
"name": "jfl",
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"displayName": "JFL - Just Fucking Launch",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Project context layer — persistent memory, sessions, journals, team coordination. Install with: jfl clawdbot setup",
|
|
6
6
|
"emoji": "🚀",
|
|
7
7
|
"author": "402goose",
|
|
8
|
-
"repository": "
|
|
8
|
+
"repository": "https://github.com/402goose/jfl-cli",
|
|
9
9
|
"category": "productivity",
|
|
10
|
-
"bootSequence": true,
|
|
11
10
|
"requirements": {
|
|
12
11
|
"cli": {
|
|
13
12
|
"name": "jfl",
|
|
14
13
|
"check": "jfl --version",
|
|
15
|
-
"minVersion": "0.1.0",
|
|
16
14
|
"install": {
|
|
17
15
|
"npm": "jfl"
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
},
|
|
21
|
-
"commands": {
|
|
22
|
-
"/gtm": "GTM operations (list, select, status)",
|
|
23
|
-
"/hud": "Show GTM dashboard",
|
|
24
|
-
"/crm": "CRM operations (list, touch, prep)",
|
|
25
|
-
"/brand": "Brand architect workflow",
|
|
26
|
-
"/content": "Create content (thread, post, article)"
|
|
27
18
|
}
|
|
28
19
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clawdbot Plugin Management
|
|
3
|
+
*
|
|
4
|
+
* Installs and manages the JFL plugin for Clawdbot gateway.
|
|
5
|
+
* Copies plugin files to ~/.clawdbot/plugins/jfl/ and configures clawdbot.json.
|
|
6
|
+
*
|
|
7
|
+
* @purpose CLI commands for installing/checking JFL Clawdbot plugin
|
|
8
|
+
*/
|
|
9
|
+
export declare function clawdbotSetupCommand(): Promise<void>;
|
|
10
|
+
export declare function clawdbotStatusCommand(): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=clawdbot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clawdbot.d.ts","sourceRoot":"","sources":["../../src/commands/clawdbot.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2HH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsD1D;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuD3D"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clawdbot Plugin Management
|
|
3
|
+
*
|
|
4
|
+
* Installs and manages the JFL plugin for Clawdbot gateway.
|
|
5
|
+
* Copies plugin files to ~/.clawdbot/plugins/jfl/ and configures clawdbot.json.
|
|
6
|
+
*
|
|
7
|
+
* @purpose CLI commands for installing/checking JFL Clawdbot plugin
|
|
8
|
+
*/
|
|
9
|
+
import chalk from "chalk";
|
|
10
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, readdirSync } from "fs";
|
|
11
|
+
import { join } from "path";
|
|
12
|
+
import { homedir } from "os";
|
|
13
|
+
import { execSync } from "child_process";
|
|
14
|
+
import { fileURLToPath } from "url";
|
|
15
|
+
import * as path from "path";
|
|
16
|
+
const CLAWDBOT_DIR = join(homedir(), ".clawdbot");
|
|
17
|
+
const PLUGINS_DIR = join(CLAWDBOT_DIR, "plugins");
|
|
18
|
+
const PLUGIN_TARGET = join(PLUGINS_DIR, "jfl");
|
|
19
|
+
const CLAWDBOT_CONFIG = join(CLAWDBOT_DIR, "clawdbot.json");
|
|
20
|
+
function isClawdbotInstalled() {
|
|
21
|
+
// Check for ~/.clawdbot/ directory
|
|
22
|
+
if (existsSync(CLAWDBOT_DIR))
|
|
23
|
+
return true;
|
|
24
|
+
// Check for clawdbot binary
|
|
25
|
+
try {
|
|
26
|
+
execSync("which clawdbot", { stdio: "pipe" });
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function getPluginSourceDir() {
|
|
34
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
35
|
+
const __dirname = path.dirname(__filename);
|
|
36
|
+
// From dist/commands/clawdbot.js -> clawdbot-plugin/
|
|
37
|
+
return join(__dirname, "..", "..", "clawdbot-plugin");
|
|
38
|
+
}
|
|
39
|
+
function isPluginInstalled() {
|
|
40
|
+
return existsSync(PLUGIN_TARGET) && existsSync(join(PLUGIN_TARGET, "index.js"));
|
|
41
|
+
}
|
|
42
|
+
function isPluginEnabledInConfig() {
|
|
43
|
+
if (!existsSync(CLAWDBOT_CONFIG)) {
|
|
44
|
+
return { loaded: false, enabled: false };
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const config = JSON.parse(readFileSync(CLAWDBOT_CONFIG, "utf-8"));
|
|
48
|
+
const paths = config?.plugins?.load?.paths ?? [];
|
|
49
|
+
const loaded = paths.some((p) => p.includes("plugins/jfl") || p.includes("plugins\\jfl"));
|
|
50
|
+
const enabled = config?.plugins?.entries?.jfl?.enabled === true;
|
|
51
|
+
return { loaded, enabled };
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return { loaded: false, enabled: false };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function copyPluginFiles(srcDir) {
|
|
58
|
+
// Create target directory
|
|
59
|
+
mkdirSync(PLUGIN_TARGET, { recursive: true });
|
|
60
|
+
// Copy all files from plugin source
|
|
61
|
+
const filesToCopy = ["index.js", "clawdbot.plugin.json"];
|
|
62
|
+
for (const file of filesToCopy) {
|
|
63
|
+
const src = join(srcDir, file);
|
|
64
|
+
if (existsSync(src)) {
|
|
65
|
+
copyFileSync(src, join(PLUGIN_TARGET, file));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Also copy index.ts if present (for reference)
|
|
69
|
+
const tsSource = join(srcDir, "index.ts");
|
|
70
|
+
if (existsSync(tsSource)) {
|
|
71
|
+
copyFileSync(tsSource, join(PLUGIN_TARGET, "index.ts"));
|
|
72
|
+
}
|
|
73
|
+
// Create a minimal package.json so Clawdbot can load it as a module
|
|
74
|
+
const packageJson = {
|
|
75
|
+
name: "jfl-clawdbot-plugin",
|
|
76
|
+
version: "0.1.0",
|
|
77
|
+
description: "JFL plugin for Clawdbot",
|
|
78
|
+
main: "index.js",
|
|
79
|
+
type: "module",
|
|
80
|
+
};
|
|
81
|
+
writeFileSync(join(PLUGIN_TARGET, "package.json"), JSON.stringify(packageJson, null, 2) + "\n");
|
|
82
|
+
}
|
|
83
|
+
function updateClawdbotConfig() {
|
|
84
|
+
let config = {};
|
|
85
|
+
if (existsSync(CLAWDBOT_CONFIG)) {
|
|
86
|
+
try {
|
|
87
|
+
config = JSON.parse(readFileSync(CLAWDBOT_CONFIG, "utf-8"));
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// If config is malformed, start fresh
|
|
91
|
+
config = {};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Ensure plugins structure exists
|
|
95
|
+
if (!config.plugins)
|
|
96
|
+
config.plugins = {};
|
|
97
|
+
if (!config.plugins.load)
|
|
98
|
+
config.plugins.load = {};
|
|
99
|
+
if (!Array.isArray(config.plugins.load.paths))
|
|
100
|
+
config.plugins.load.paths = [];
|
|
101
|
+
if (!config.plugins.entries)
|
|
102
|
+
config.plugins.entries = {};
|
|
103
|
+
// Add plugin path if not already present
|
|
104
|
+
const pluginPath = PLUGIN_TARGET;
|
|
105
|
+
const alreadyLoaded = config.plugins.load.paths.some((p) => p.includes("plugins/jfl") || p.includes("plugins\\jfl"));
|
|
106
|
+
if (!alreadyLoaded) {
|
|
107
|
+
config.plugins.load.paths.push(pluginPath);
|
|
108
|
+
}
|
|
109
|
+
// Add plugin entry if not already present
|
|
110
|
+
if (!config.plugins.entries.jfl) {
|
|
111
|
+
config.plugins.entries.jfl = { enabled: true };
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
config.plugins.entries.jfl.enabled = true;
|
|
115
|
+
}
|
|
116
|
+
writeFileSync(CLAWDBOT_CONFIG, JSON.stringify(config, null, 2) + "\n");
|
|
117
|
+
}
|
|
118
|
+
export async function clawdbotSetupCommand() {
|
|
119
|
+
console.log(chalk.bold("\n JFL Clawdbot Plugin Setup\n"));
|
|
120
|
+
// Step 1: Check if Clawdbot is installed
|
|
121
|
+
if (!isClawdbotInstalled()) {
|
|
122
|
+
console.log(chalk.red(" Clawdbot not found."));
|
|
123
|
+
console.log(chalk.gray(" Looking for ~/.clawdbot/ directory or clawdbot binary.\n"));
|
|
124
|
+
console.log(chalk.gray(" Install Clawdbot first: https://clawd.bot\n"));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
console.log(chalk.green(" [1/4] Clawdbot detected"));
|
|
128
|
+
// Step 2: Find plugin source files
|
|
129
|
+
const pluginSrc = getPluginSourceDir();
|
|
130
|
+
if (!existsSync(pluginSrc) || !existsSync(join(pluginSrc, "index.js"))) {
|
|
131
|
+
console.log(chalk.red(" Plugin source files not found."));
|
|
132
|
+
console.log(chalk.gray(` Expected at: ${pluginSrc}`));
|
|
133
|
+
console.log(chalk.gray(" This may indicate a broken jfl installation. Try: npm install -g jfl\n"));
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
console.log(chalk.green(" [2/4] Plugin source located"));
|
|
137
|
+
// Step 3: Copy plugin files
|
|
138
|
+
const updating = isPluginInstalled();
|
|
139
|
+
try {
|
|
140
|
+
copyPluginFiles(pluginSrc);
|
|
141
|
+
if (updating) {
|
|
142
|
+
console.log(chalk.green(" [3/4] Plugin files updated"));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
console.log(chalk.green(" [3/4] Plugin files installed"));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
console.log(chalk.red(` Failed to copy plugin files: ${err.message}`));
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
// Step 4: Update clawdbot.json config
|
|
153
|
+
try {
|
|
154
|
+
updateClawdbotConfig();
|
|
155
|
+
console.log(chalk.green(" [4/4] Clawdbot config updated"));
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
console.log(chalk.red(` Failed to update config: ${err.message}`));
|
|
159
|
+
console.log(chalk.gray(" You may need to manually add the plugin to ~/.clawdbot/clawdbot.json\n"));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
// Success
|
|
163
|
+
console.log(chalk.green("\n JFL plugin installed successfully.\n"));
|
|
164
|
+
console.log(chalk.gray(" Plugin path: ") + chalk.white(PLUGIN_TARGET));
|
|
165
|
+
console.log(chalk.gray(" Config: ") + chalk.white(CLAWDBOT_CONFIG));
|
|
166
|
+
console.log();
|
|
167
|
+
console.log(chalk.cyan(" Restart your gateway to load the plugin:"));
|
|
168
|
+
console.log(chalk.white(" clawdbot gateway"));
|
|
169
|
+
console.log();
|
|
170
|
+
}
|
|
171
|
+
export async function clawdbotStatusCommand() {
|
|
172
|
+
console.log(chalk.bold("\n JFL Clawdbot Plugin Status\n"));
|
|
173
|
+
// Clawdbot installed?
|
|
174
|
+
const installed = isClawdbotInstalled();
|
|
175
|
+
console.log(installed
|
|
176
|
+
? chalk.green(" Clawdbot: ") + "installed"
|
|
177
|
+
: chalk.red(" Clawdbot: ") + "not found");
|
|
178
|
+
if (!installed) {
|
|
179
|
+
console.log(chalk.gray("\n Install Clawdbot first: https://clawd.bot\n"));
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
// Plugin installed?
|
|
183
|
+
const pluginInstalled = isPluginInstalled();
|
|
184
|
+
console.log(pluginInstalled
|
|
185
|
+
? chalk.green(" JFL plugin: ") + "installed"
|
|
186
|
+
: chalk.yellow(" JFL plugin: ") + "not installed");
|
|
187
|
+
if (pluginInstalled) {
|
|
188
|
+
console.log(chalk.gray(" Plugin path: ") + PLUGIN_TARGET);
|
|
189
|
+
// Show plugin files
|
|
190
|
+
try {
|
|
191
|
+
const files = readdirSync(PLUGIN_TARGET);
|
|
192
|
+
console.log(chalk.gray(" Files: ") + files.join(", "));
|
|
193
|
+
}
|
|
194
|
+
catch { /* skip */ }
|
|
195
|
+
}
|
|
196
|
+
// Config status?
|
|
197
|
+
const { loaded, enabled } = isPluginEnabledInConfig();
|
|
198
|
+
console.log(loaded
|
|
199
|
+
? chalk.green(" Config path: ") + "registered"
|
|
200
|
+
: chalk.yellow(" Config path: ") + "not registered");
|
|
201
|
+
console.log(enabled
|
|
202
|
+
? chalk.green(" Enabled: ") + "yes"
|
|
203
|
+
: chalk.yellow(" Enabled: ") + "no");
|
|
204
|
+
// Suggestions
|
|
205
|
+
if (!pluginInstalled) {
|
|
206
|
+
console.log(chalk.cyan("\n Run 'jfl clawdbot setup' to install the plugin.\n"));
|
|
207
|
+
}
|
|
208
|
+
else if (!loaded || !enabled) {
|
|
209
|
+
console.log(chalk.cyan("\n Run 'jfl clawdbot setup' to fix the configuration.\n"));
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
console.log(chalk.green("\n Everything looks good. Use /jfl in your Clawdbot gateway.\n"));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=clawdbot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clawdbot.js","sourceRoot":"","sources":["../../src/commands/clawdbot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* jfl gtm process-service-update - Process service sync notifications
|
|
3
|
+
*
|
|
4
|
+
* Called automatically by GTM hooks when a service phones home.
|
|
5
|
+
* Spawns an agent to update GTM state based on service work.
|
|
6
|
+
*
|
|
7
|
+
* @purpose CLI command for GTM agent spawning on service updates
|
|
8
|
+
*/
|
|
9
|
+
export declare function gtmProcessUpdate(eventFilePath?: string): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=gtm-process-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtm-process-update.d.ts","sourceRoot":"","sources":["../../src/commands/gtm-process-update.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoCH,wBAAsB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,iBA4H5D"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* jfl gtm process-service-update - Process service sync notifications
|
|
3
|
+
*
|
|
4
|
+
* Called automatically by GTM hooks when a service phones home.
|
|
5
|
+
* Spawns an agent to update GTM state based on service work.
|
|
6
|
+
*
|
|
7
|
+
* @purpose CLI command for GTM agent spawning on service updates
|
|
8
|
+
*/
|
|
9
|
+
import chalk from "chalk";
|
|
10
|
+
import * as fs from "fs";
|
|
11
|
+
import * as path from "path";
|
|
12
|
+
export async function gtmProcessUpdate(eventFilePath) {
|
|
13
|
+
// If called without args, process latest event from service-events.jsonl
|
|
14
|
+
const eventsFile = eventFilePath || path.join(process.cwd(), ".jfl", "service-events.jsonl");
|
|
15
|
+
if (!fs.existsSync(eventsFile)) {
|
|
16
|
+
console.error(chalk.red("No service events file found"));
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
// Read latest event
|
|
20
|
+
const content = fs.readFileSync(eventsFile, "utf-8");
|
|
21
|
+
const lines = content.trim().split("\n").filter((l) => l.trim());
|
|
22
|
+
if (lines.length === 0) {
|
|
23
|
+
console.log(chalk.yellow("No events to process"));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const latestLine = lines[lines.length - 1];
|
|
27
|
+
let event;
|
|
28
|
+
try {
|
|
29
|
+
event = JSON.parse(latestLine);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(chalk.red("Failed to parse event:"), error.message);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
// Output agent prompt
|
|
36
|
+
console.log(chalk.cyan("════════════════════════════════════════════════════════════"));
|
|
37
|
+
console.log(chalk.cyan.bold(" Service Update Received"));
|
|
38
|
+
console.log(chalk.cyan("════════════════════════════════════════════════════════════"));
|
|
39
|
+
console.log("");
|
|
40
|
+
console.log(chalk.bold(`Service: ${event.service}`));
|
|
41
|
+
console.log(`Session: ${event.payload.session_branch}`);
|
|
42
|
+
console.log(`Duration: ${event.payload.duration_minutes}min`);
|
|
43
|
+
console.log("");
|
|
44
|
+
console.log(chalk.bold("Activity:"));
|
|
45
|
+
console.log(` • ${event.payload.commits} commits`);
|
|
46
|
+
console.log(` • ${event.payload.files_changed} files changed`);
|
|
47
|
+
console.log(` • ${event.payload.journal_entries} journal entries`);
|
|
48
|
+
// Content sync summary
|
|
49
|
+
const contentFiles = event.payload.content_synced.knowledge_files.length +
|
|
50
|
+
event.payload.content_synced.content_files.length +
|
|
51
|
+
event.payload.content_synced.config_files.length;
|
|
52
|
+
if (contentFiles > 0 || event.payload.content_synced.claude_md_synced) {
|
|
53
|
+
console.log("");
|
|
54
|
+
console.log(chalk.bold("Content Synced:"));
|
|
55
|
+
if (event.payload.content_synced.knowledge_files.length > 0) {
|
|
56
|
+
console.log(` • Knowledge: ${event.payload.content_synced.knowledge_files.length} files`);
|
|
57
|
+
}
|
|
58
|
+
if (event.payload.content_synced.content_files.length > 0) {
|
|
59
|
+
console.log(` • Content: ${event.payload.content_synced.content_files.length} files`);
|
|
60
|
+
}
|
|
61
|
+
if (event.payload.content_synced.config_files.length > 0) {
|
|
62
|
+
console.log(` • Config: ${event.payload.content_synced.config_files.length} files`);
|
|
63
|
+
}
|
|
64
|
+
if (event.payload.content_synced.claude_md_synced) {
|
|
65
|
+
console.log(` • CLAUDE.md`);
|
|
66
|
+
}
|
|
67
|
+
const bytes = event.payload.content_synced.total_bytes;
|
|
68
|
+
const sizeStr = bytes > 1024 * 1024
|
|
69
|
+
? `${(bytes / (1024 * 1024)).toFixed(1)}MB`
|
|
70
|
+
: bytes > 1024
|
|
71
|
+
? `${(bytes / 1024).toFixed(1)}KB`
|
|
72
|
+
: `${bytes} bytes`;
|
|
73
|
+
console.log(` • Total: ${sizeStr}`);
|
|
74
|
+
}
|
|
75
|
+
console.log("");
|
|
76
|
+
console.log(chalk.cyan("════════════════════════════════════════════════════════════"));
|
|
77
|
+
console.log("");
|
|
78
|
+
// Output agent instruction
|
|
79
|
+
console.log(chalk.bold("GTM Agent Task:"));
|
|
80
|
+
console.log("");
|
|
81
|
+
console.log(`Process service update from ${chalk.cyan(event.service)}:`);
|
|
82
|
+
console.log("");
|
|
83
|
+
console.log("1. Read service journal entries:");
|
|
84
|
+
console.log(` cat .jfl/journal/service-${event.service}-*.jsonl`);
|
|
85
|
+
console.log("");
|
|
86
|
+
console.log("2. Review synced content:");
|
|
87
|
+
console.log(` ls -la services/${event.service}/`);
|
|
88
|
+
console.log("");
|
|
89
|
+
console.log("3. Update GTM state:");
|
|
90
|
+
console.log(" • Update knowledge/ROADMAP.md with progress");
|
|
91
|
+
console.log(" • Write GTM journal entry summarizing service work");
|
|
92
|
+
console.log(" • Update relevant knowledge docs");
|
|
93
|
+
console.log("");
|
|
94
|
+
console.log("4. If you need more detail, read:");
|
|
95
|
+
console.log(` • services/${event.service}/CLAUDE.md`);
|
|
96
|
+
console.log(` • services/${event.service}/knowledge/`);
|
|
97
|
+
console.log(` • Full journal: .jfl/journal/service-${event.service}-*.jsonl`);
|
|
98
|
+
console.log("");
|
|
99
|
+
console.log(chalk.dim(`Event timestamp: ${new Date(event.timestamp).toLocaleString()}`));
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=gtm-process-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtm-process-update.js","sourceRoot":"","sources":["../../src/commands/gtm-process-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAA;AASnC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAmXD;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAkaf"}
|