@musashishao/agent-kit 1.11.2 → 1.11.3
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/.agent/scripts/setup_notebooklm_mcp.py +22 -4
- package/.agent/workflows/ai-agent.md +2 -0
- package/.agent/workflows/engineering-brief.md +2 -0
- package/.agent/workflows/gamekit-init.md +2 -0
- package/.agent/workflows/gamekit-launch.md +2 -0
- package/.agent/workflows/gamekit-plan.md +2 -0
- package/.agent/workflows/gamekit-qa.md +2 -0
- package/.agent/workflows/gamekit-spec.md +2 -0
- package/.agent/workflows/gamekit-tasks.md +2 -0
- package/.agent/workflows/generative-ui-init.md +2 -0
- package/.agent/workflows/marketing.md +2 -0
- package/.agent/workflows/pentest.md +2 -0
- package/.agent/workflows/research.md +2 -0
- package/.agent/workflows/saas.md +2 -0
- package/.agent/workflows/ui-verify.md +2 -0
- package/.agent/workflows/vibe-audit.md +2 -0
- package/.agent/workflows/vibe-game.md +2 -0
- package/bin/agent-kit +1 -1
- package/bin/cli.js +91 -0
- package/package.json +1 -1
|
@@ -159,10 +159,28 @@ def install_package(python_path: str) -> bool:
|
|
|
159
159
|
|
|
160
160
|
def get_wrapper_path() -> Optional[str]:
|
|
161
161
|
"""Get absolute path to wrapper script."""
|
|
162
|
-
|
|
162
|
+
# Search in multiple locations
|
|
163
|
+
search_paths = [
|
|
164
|
+
# 1. Project's installed .agent folder
|
|
165
|
+
Path.cwd() / WRAPPER_SCRIPT_REL,
|
|
166
|
+
# 2. Package source (when running from node_modules or repo)
|
|
167
|
+
Path(__file__).parent.parent / "mcp" / "servers" / "notebooklm" / "run_notebooklm_mcp.py",
|
|
168
|
+
# 3. Alongside this script's .agent folder
|
|
169
|
+
Path(__file__).parent.parent.parent / WRAPPER_SCRIPT_REL,
|
|
170
|
+
]
|
|
171
|
+
|
|
172
|
+
wrapper_path = None
|
|
173
|
+
for path in search_paths:
|
|
174
|
+
if path.exists():
|
|
175
|
+
wrapper_path = path
|
|
176
|
+
break
|
|
163
177
|
|
|
164
|
-
if not wrapper_path
|
|
165
|
-
print(f"❌ Không tìm thấy wrapper script
|
|
178
|
+
if not wrapper_path:
|
|
179
|
+
print(f"❌ Không tìm thấy wrapper script.")
|
|
180
|
+
print(f" Đã tìm tại:")
|
|
181
|
+
for p in search_paths:
|
|
182
|
+
print(f" - {p}")
|
|
183
|
+
print(f"\n Hãy chạy 'npx @musashishao/agent-kit init' trước.")
|
|
166
184
|
return None
|
|
167
185
|
|
|
168
186
|
# Make executable on Unix
|
|
@@ -172,7 +190,7 @@ def get_wrapper_path() -> Optional[str]:
|
|
|
172
190
|
except Exception:
|
|
173
191
|
pass
|
|
174
192
|
|
|
175
|
-
return str(wrapper_path)
|
|
193
|
+
return str(wrapper_path.resolve())
|
|
176
194
|
|
|
177
195
|
|
|
178
196
|
def select_profile() -> str:
|
|
@@ -6,6 +6,8 @@ description_en: "Generate implementation plan from approved game specification."
|
|
|
6
6
|
|
|
7
7
|
# /gamekit.plan - Game Implementation Plan
|
|
8
8
|
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
9
11
|
Generate a detailed implementation plan from an approved specification. Includes task breakdown, agent assignments, and file structure.
|
|
10
12
|
|
|
11
13
|
---
|
|
@@ -6,6 +6,8 @@ description_en: "Playtest and QA loop for iterative game refinement."
|
|
|
6
6
|
|
|
7
7
|
# /gamekit-qa - Evaluative Loop (QA & Refinement)
|
|
8
8
|
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
9
11
|
Playtest, collect feedback, and iteratively refine game feel and balance.
|
|
10
12
|
|
|
11
13
|
> 💡 **Migrated from:** `/game-hybrid` Tier 3
|
|
@@ -6,6 +6,8 @@ description_en: "Create game specification with Explained Q&A for all stakeholde
|
|
|
6
6
|
|
|
7
7
|
# /gamekit.spec - Game Specification Creation
|
|
8
8
|
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
9
11
|
Create a comprehensive game specification using the Explained Q&A system. Designed for ALL stakeholders (Developer, PM, Designer).
|
|
10
12
|
|
|
11
13
|
---
|
|
@@ -6,6 +6,8 @@ description_en: "Generate executable task list from approved game plan."
|
|
|
6
6
|
|
|
7
7
|
# /gamekit.tasks - Game Task List Generation
|
|
8
8
|
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
9
11
|
Generate an executable task list with checkboxes, session tracking, and progress overview from an approved implementation plan.
|
|
10
12
|
|
|
11
13
|
---
|
|
@@ -6,6 +6,8 @@ description_vi: Workflow lập kế hoạch marketing tăng trưởng và chiế
|
|
|
6
6
|
|
|
7
7
|
# 🚀 /marketing - Campaign Planning Workflow
|
|
8
8
|
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
9
11
|
This workflow guides you through the process of planning and executing a high-impact marketing campaign for your product.
|
|
10
12
|
|
|
11
13
|
## 📋 Steps
|
package/.agent/workflows/saas.md
CHANGED
package/bin/agent-kit
CHANGED
|
@@ -18,6 +18,7 @@ const VERSION = packageJson.version;
|
|
|
18
18
|
|
|
19
19
|
// Commands handled by cli.js (Node.js)
|
|
20
20
|
const CLI_JS_COMMANDS = [
|
|
21
|
+
'setup', // Full setup: init + NotebookLM + Codex sync
|
|
21
22
|
'init',
|
|
22
23
|
'update',
|
|
23
24
|
'status',
|
|
@@ -46,7 +47,6 @@ const PYTHON_CLI_COMMANDS = [
|
|
|
46
47
|
'setup-notion-mcp',
|
|
47
48
|
'memory-sync',
|
|
48
49
|
'notebooklm-status',
|
|
49
|
-
'setup',
|
|
50
50
|
'install'
|
|
51
51
|
];
|
|
52
52
|
|
package/bin/cli.js
CHANGED
|
@@ -35,6 +35,7 @@ const translations = {
|
|
|
35
35
|
usage: 'Usage:',
|
|
36
36
|
usageText: ` npx ${PACKAGE_NAME} <command> [options]`,
|
|
37
37
|
commands: 'Commands:',
|
|
38
|
+
setup: '⭐ FULL SETUP: Install everything in one command',
|
|
38
39
|
init: 'Install .agent folder into current project',
|
|
39
40
|
ai: 'AI Infrastructure management (init, sync, status)',
|
|
40
41
|
setupCodex: 'Sync workflows with Codex CLI slash commands',
|
|
@@ -164,6 +165,7 @@ ${colors.bright}${t.usage}${colors.reset}
|
|
|
164
165
|
${t.usageText}
|
|
165
166
|
|
|
166
167
|
${colors.bright}${t.commands}${colors.reset}
|
|
168
|
+
${colors.bright}${colors.yellow}setup${colors.reset} ${t.setup || '⭐ Full setup: init + NotebookLM + Codex'}
|
|
167
169
|
${colors.cyan}init${colors.reset} ${t.init}
|
|
168
170
|
${colors.cyan}ai${colors.reset} ${t.ai}
|
|
169
171
|
${colors.cyan}setup-codex${colors.reset} ${t.setupCodex}
|
|
@@ -314,6 +316,92 @@ ${colors.bright}📚 Documentation:${colors.reset}
|
|
|
314
316
|
}
|
|
315
317
|
}
|
|
316
318
|
|
|
319
|
+
/**
|
|
320
|
+
* Setup command - Install everything in one go
|
|
321
|
+
* Runs: init + setup-notebooklm + setup-codex
|
|
322
|
+
*/
|
|
323
|
+
function setupCommand(options) {
|
|
324
|
+
log.title('🚀 Agent Kit Full Setup');
|
|
325
|
+
console.log(`
|
|
326
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
327
|
+
║ AGENT KIT - FULL INSTALLATION ║
|
|
328
|
+
║ Cài đặt hoàn chỉnh chỉ với 1 lệnh duy nhất ║
|
|
329
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
330
|
+
`);
|
|
331
|
+
|
|
332
|
+
const steps = [
|
|
333
|
+
{ name: 'Agent Kit Core', desc: 'Cài đặt .agent folder' },
|
|
334
|
+
{ name: 'NotebookLM MCP', desc: 'Cài MCP server cho research' },
|
|
335
|
+
{ name: 'Codex CLI', desc: 'Sync slash commands' }
|
|
336
|
+
];
|
|
337
|
+
|
|
338
|
+
console.log(`${colors.bright}📋 Các bước sẽ thực hiện:${colors.reset}`);
|
|
339
|
+
steps.forEach((s, i) => {
|
|
340
|
+
console.log(` ${i + 1}. ${s.name} - ${s.desc}`);
|
|
341
|
+
});
|
|
342
|
+
console.log('');
|
|
343
|
+
|
|
344
|
+
// Step 1: Init (install .agent folder)
|
|
345
|
+
console.log(`\n${colors.bright}[1/3] Installing Agent Kit Core...${colors.reset}`);
|
|
346
|
+
try {
|
|
347
|
+
// Check if already exists
|
|
348
|
+
const agentDir = path.join(process.cwd(), '.agent');
|
|
349
|
+
if (fs.existsSync(agentDir) && !options.force) {
|
|
350
|
+
log.info('.agent folder already exists, skipping...');
|
|
351
|
+
} else {
|
|
352
|
+
initCommand({ ...options, quiet: true, force: options.force });
|
|
353
|
+
log.success('Agent Kit Core installed!');
|
|
354
|
+
}
|
|
355
|
+
} catch (e) {
|
|
356
|
+
log.error(`Init failed: ${e.message}`);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// Step 2: Setup NotebookLM MCP
|
|
361
|
+
console.log(`\n${colors.bright}[2/3] Setting up NotebookLM MCP...${colors.reset}`);
|
|
362
|
+
try {
|
|
363
|
+
const scriptPath = path.join(process.cwd(), '.agent/scripts/setup_notebooklm_mcp.py');
|
|
364
|
+
if (fs.existsSync(scriptPath)) {
|
|
365
|
+
execSync(`python3 "${scriptPath}"`, { stdio: 'inherit' });
|
|
366
|
+
log.success('NotebookLM MCP configured!');
|
|
367
|
+
} else {
|
|
368
|
+
log.warn('NotebookLM setup script not found, skipping...');
|
|
369
|
+
}
|
|
370
|
+
} catch (e) {
|
|
371
|
+
log.warn(`NotebookLM setup skipped: ${e.message}`);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Step 3: Setup Codex CLI
|
|
375
|
+
console.log(`\n${colors.bright}[3/3] Syncing with Codex CLI...${colors.reset}`);
|
|
376
|
+
try {
|
|
377
|
+
setupCodexCommand({ ...options, quiet: true });
|
|
378
|
+
log.success('Codex CLI synced!');
|
|
379
|
+
} catch (e) {
|
|
380
|
+
log.warn(`Codex sync skipped: ${e.message}`);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// Final summary
|
|
384
|
+
console.log(`
|
|
385
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
386
|
+
║ 🎉 SETUP HOÀN TẤT! ║
|
|
387
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
388
|
+
|
|
389
|
+
${colors.bright}📌 Bước tiếp theo:${colors.reset}
|
|
390
|
+
1. Xác thực NotebookLM (nếu muốn dùng):
|
|
391
|
+
${colors.cyan}notebooklm-mcp-auth${colors.reset}
|
|
392
|
+
|
|
393
|
+
2. Restart AI tools của bạn (Codex, Cursor, Claude...)
|
|
394
|
+
|
|
395
|
+
3. Bắt đầu sử dụng:
|
|
396
|
+
${colors.cyan}/brainstorm${colors.reset} - Lên ý tưởng
|
|
397
|
+
${colors.cyan}/create${colors.reset} - Tạo app mới
|
|
398
|
+
${colors.cyan}/debug${colors.reset} - Fix lỗi
|
|
399
|
+
|
|
400
|
+
${colors.bright}📚 Docs:${colors.reset} .agent/ARCHITECTURE.md
|
|
401
|
+
${colors.bright}🆘 Help:${colors.reset} npx @musashishao/agent-kit doctor
|
|
402
|
+
`);
|
|
403
|
+
}
|
|
404
|
+
|
|
317
405
|
function setupCodexCommand(options) {
|
|
318
406
|
const lang = getSystemLanguage();
|
|
319
407
|
const t = translations[lang] || translations.en;
|
|
@@ -1581,6 +1669,9 @@ if (templateIndex !== -1 && args[templateIndex + 1]) {
|
|
|
1581
1669
|
|
|
1582
1670
|
// Execute command
|
|
1583
1671
|
switch (command) {
|
|
1672
|
+
case 'setup':
|
|
1673
|
+
setupCommand(options);
|
|
1674
|
+
break;
|
|
1584
1675
|
case 'init':
|
|
1585
1676
|
initCommand(options);
|
|
1586
1677
|
break;
|