claude-flow-novice 2.0.3 → 2.0.4
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/src/cli/commands/guidance.js +487 -668
- package/dist/src/cli/commands/index-validate.js +18 -29
- package/dist/src/cli/commands/mcp-troubleshoot.js +230 -282
- package/dist/src/cli/commands/neural-goal-init.js +92 -125
- package/dist/src/cli/commands/swarm-exec.js +317 -393
- package/dist/src/cli/commands/swarm.js +1 -1
- package/dist/src/cli/commands/validate-framework.js +983 -1100
- package/dist/src/cli/commands/validate.js +144 -223
- package/dist/src/cli/simple-commands/__tests__/agent.test.js +265 -277
- package/dist/src/cli/simple-commands/__tests__/memory.test.js +6 -7
- package/dist/src/cli/simple-commands/__tests__/swarm.test.js +373 -356
- package/dist/src/cli/simple-commands/__tests__/task.test.js +6 -7
- package/dist/src/cli/simple-commands/agent.js +157 -193
- package/dist/src/cli/simple-commands/analysis.js +336 -446
- package/dist/src/cli/simple-commands/automation-executor.js +1095 -1339
- package/dist/src/cli/simple-commands/automation.js +481 -469
- package/dist/src/cli/simple-commands/batch-manager.js +261 -313
- package/dist/src/cli/simple-commands/claude-telemetry.js +241 -267
- package/dist/src/cli/simple-commands/claude-track.js +68 -90
- package/dist/src/cli/simple-commands/concurrent-display.js +266 -320
- package/dist/src/cli/simple-commands/config.js +245 -290
- package/dist/src/cli/simple-commands/coordination.js +182 -234
- package/dist/src/cli/simple-commands/enhanced-ui-views.js +812 -615
- package/dist/src/cli/simple-commands/enhanced-webui-complete.js +922 -981
- package/dist/src/cli/simple-commands/fix-hook-variables.js +274 -294
- package/dist/src/cli/simple-commands/github/gh-coordinator.js +378 -457
- package/dist/src/cli/simple-commands/github/github-api.js +535 -574
- package/dist/src/cli/simple-commands/github/init.js +276 -303
- package/dist/src/cli/simple-commands/github.js +222 -247
- package/dist/src/cli/simple-commands/goal.js +51 -63
- package/dist/src/cli/simple-commands/hive-mind/auto-save-middleware.js +208 -278
- package/dist/src/cli/simple-commands/hive-mind/communication.js +601 -696
- package/dist/src/cli/simple-commands/hive-mind/core.js +907 -979
- package/dist/src/cli/simple-commands/hive-mind/db-optimizer.js +406 -655
- package/dist/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1125 -1245
- package/dist/src/cli/simple-commands/hive-mind/memory.js +854 -1090
- package/dist/src/cli/simple-commands/hive-mind/performance-optimizer.js +459 -574
- package/dist/src/cli/simple-commands/hive-mind/performance-test.js +263 -347
- package/dist/src/cli/simple-commands/hive-mind/queen.js +727 -768
- package/dist/src/cli/simple-commands/hive-mind/session-manager.js +745 -1049
- package/dist/src/cli/simple-commands/hive-mind-optimize.js +227 -283
- package/dist/src/cli/simple-commands/hive-mind-wizard.js +174 -217
- package/dist/src/cli/simple-commands/hive-mind.js +1842 -2283
- package/dist/src/cli/simple-commands/hive.js +90 -79
- package/dist/src/cli/simple-commands/hook-safety.js +431 -521
- package/dist/src/cli/simple-commands/hooks/session-start-soul.js +203 -254
- package/dist/src/cli/simple-commands/hooks.js +1064 -1204
- package/dist/src/cli/simple-commands/init/agent-copier.js +294 -319
- package/dist/src/cli/simple-commands/init/batch-init.js +496 -562
- package/dist/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +13 -19
- package/dist/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +13 -19
- package/dist/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +61 -88
- package/dist/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +125 -150
- package/dist/src/cli/simple-commands/init/claude-commands/slash-commands.js +42 -49
- package/dist/src/cli/simple-commands/init/claude-commands/sparc-commands.js +43 -61
- package/dist/src/cli/simple-commands/init/copy-revised-templates.js +141 -147
- package/dist/src/cli/simple-commands/init/executable-wrapper.js +31 -44
- package/dist/src/cli/simple-commands/init/gitignore-updater.js +64 -90
- package/dist/src/cli/simple-commands/init/help.js +104 -107
- package/dist/src/cli/simple-commands/init/hive-mind-init.js +509 -528
- package/dist/src/cli/simple-commands/init/index.js +1510 -1759
- package/dist/src/cli/simple-commands/init/performance-monitor.js +234 -317
- package/dist/src/cli/simple-commands/init/rollback/backup-manager.js +441 -504
- package/dist/src/cli/simple-commands/init/rollback/index.js +289 -364
- package/dist/src/cli/simple-commands/init/rollback/recovery-manager.js +652 -728
- package/dist/src/cli/simple-commands/init/rollback/rollback-executor.js +416 -481
- package/dist/src/cli/simple-commands/init/rollback/state-tracker.js +369 -448
- package/dist/src/cli/simple-commands/init/sparc/roo-readme.js +1 -2
- package/dist/src/cli/simple-commands/init/sparc/roomodes-config.js +122 -99
- package/dist/src/cli/simple-commands/init/sparc/workflows.js +32 -37
- package/dist/src/cli/simple-commands/init/sparc-structure.js +55 -62
- package/dist/src/cli/simple-commands/init/template-copier.js +421 -533
- package/dist/src/cli/simple-commands/init/templates/coordination-md.js +3 -6
- package/dist/src/cli/simple-commands/init/templates/enhanced-templates.js +344 -318
- package/dist/src/cli/simple-commands/init/templates/github-safe-enhanced.js +173 -218
- package/dist/src/cli/simple-commands/init/templates/github-safe.js +65 -75
- package/dist/src/cli/simple-commands/init/templates/memory-bank-md.js +3 -6
- package/dist/src/cli/simple-commands/init/templates/readme-files.js +2 -4
- package/dist/src/cli/simple-commands/init/templates/safe-hook-patterns.js +187 -230
- package/dist/src/cli/simple-commands/init/templates/sparc-modes.js +53 -80
- package/dist/src/cli/simple-commands/init/templates/verification-claude-md.js +101 -85
- package/dist/src/cli/simple-commands/init/validation/config-validator.js +283 -330
- package/dist/src/cli/simple-commands/init/validation/health-checker.js +495 -561
- package/dist/src/cli/simple-commands/init/validation/index.js +302 -358
- package/dist/src/cli/simple-commands/init/validation/mode-validator.js +308 -359
- package/dist/src/cli/simple-commands/init/validation/post-init-validator.js +389 -366
- package/dist/src/cli/simple-commands/init/validation/pre-init-validator.js +270 -268
- package/dist/src/cli/simple-commands/init/validation/test-runner.js +427 -447
- package/dist/src/cli/simple-commands/init.js +1 -2
- package/dist/src/cli/simple-commands/mcp-health.js +131 -158
- package/dist/src/cli/simple-commands/mcp-integration-layer.js +533 -634
- package/dist/src/cli/simple-commands/mcp.js +345 -400
- package/dist/src/cli/simple-commands/memory-consolidation.js +426 -537
- package/dist/src/cli/simple-commands/memory.js +247 -311
- package/dist/src/cli/simple-commands/migrate-hooks.js +39 -46
- package/dist/src/cli/simple-commands/monitor.js +294 -363
- package/dist/src/cli/simple-commands/neural.js +51 -65
- package/dist/src/cli/simple-commands/pair-autofix-only.js +538 -662
- package/dist/src/cli/simple-commands/pair-basic.js +528 -656
- package/dist/src/cli/simple-commands/pair-old.js +430 -543
- package/dist/src/cli/simple-commands/pair-working.js +615 -751
- package/dist/src/cli/simple-commands/pair.js +615 -751
- package/dist/src/cli/simple-commands/performance-hooks.js +83 -111
- package/dist/src/cli/simple-commands/performance-metrics.js +348 -433
- package/dist/src/cli/simple-commands/process-ui-enhanced.js +708 -787
- package/dist/src/cli/simple-commands/process-ui.js +230 -254
- package/dist/src/cli/simple-commands/realtime-update-system.js +525 -611
- package/dist/src/cli/simple-commands/sparc/architecture.js +1704 -1530
- package/dist/src/cli/simple-commands/sparc/commands.js +438 -516
- package/dist/src/cli/simple-commands/sparc/completion.js +1224 -1481
- package/dist/src/cli/simple-commands/sparc/coordinator.js +913 -978
- package/dist/src/cli/simple-commands/sparc/index.js +241 -298
- package/dist/src/cli/simple-commands/sparc/phase-base.js +314 -390
- package/dist/src/cli/simple-commands/sparc/pseudocode.js +965 -869
- package/dist/src/cli/simple-commands/sparc/refinement.js +980 -1273
- package/dist/src/cli/simple-commands/sparc/specification.js +559 -645
- package/dist/src/cli/simple-commands/sparc-modes/architect.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/ask.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/code.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/debug.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/devops.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/docs-writer.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/generic.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/index.js +47 -55
- package/dist/src/cli/simple-commands/sparc-modes/integration.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/mcp.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/monitoring.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/optimization.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/security-review.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/supabase-admin.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/swarm.js +101 -87
- package/dist/src/cli/simple-commands/sparc-modes/tdd.js +1 -1
- package/dist/src/cli/simple-commands/sparc-modes/tutorial.js +1 -1
- package/dist/src/cli/simple-commands/sparc.js +465 -493
- package/dist/src/cli/simple-commands/start-ui.js +108 -132
- package/dist/src/cli/simple-commands/start-wrapper.js +240 -268
- package/dist/src/cli/simple-commands/start.js +1 -1
- package/dist/src/cli/simple-commands/status.js +254 -275
- package/dist/src/cli/simple-commands/stream-chain-clean.js +128 -171
- package/dist/src/cli/simple-commands/stream-chain-fixed.js +61 -82
- package/dist/src/cli/simple-commands/stream-chain-real.js +267 -331
- package/dist/src/cli/simple-commands/stream-chain-working.js +211 -263
- package/dist/src/cli/simple-commands/stream-chain.js +260 -318
- package/dist/src/cli/simple-commands/stream-processor.js +290 -315
- package/dist/src/cli/simple-commands/swarm-executor.js +189 -222
- package/dist/src/cli/simple-commands/swarm-metrics-integration.js +208 -300
- package/dist/src/cli/simple-commands/swarm-ui.js +623 -703
- package/dist/src/cli/simple-commands/swarm-webui-integration.js +258 -286
- package/dist/src/cli/simple-commands/swarm.js +887 -1082
- package/dist/src/cli/simple-commands/task.js +161 -206
- package/dist/src/cli/simple-commands/timestamp-fix.js +59 -89
- package/dist/src/cli/simple-commands/token-tracker.js +258 -316
- package/dist/src/cli/simple-commands/tool-execution-framework.js +433 -519
- package/dist/src/cli/simple-commands/train-and-stream.js +275 -331
- package/dist/src/cli/simple-commands/training-pipeline.js +619 -725
- package/dist/src/cli/simple-commands/training.js +170 -227
- package/dist/src/cli/simple-commands/verification-hooks.js +261 -284
- package/dist/src/cli/simple-commands/verification-integration.js +389 -417
- package/dist/src/cli/simple-commands/verification-training-integration.js +486 -606
- package/dist/src/cli/simple-commands/verification.js +493 -513
- package/dist/src/cli/simple-commands/web-server.js +766 -836
- package/dist/src/cli/simple-commands/webui-validator.js +106 -124
- package/dist/src/coordination/event-bus/demo-wasm-integration.js +212 -251
- package/dist/src/coordination/event-bus/qe-event-bus.js +608 -748
- package/dist/src/coordination/event-bus/qe-event-bus.test.js +379 -454
- package/dist/src/coordination/iteration-tracker.js +363 -454
- package/dist/src/enterprise/analytics-manager.js +1135 -0
- package/dist/src/enterprise/audit-manager.js +1115 -0
- package/dist/src/enterprise/cloud-manager.js +891 -0
- package/dist/src/enterprise/deployment-manager.js +966 -0
- package/dist/src/enterprise/index.js +6 -0
- package/dist/src/enterprise/project-manager.js +584 -0
- package/dist/src/enterprise/security-manager.js +991 -0
- package/dist/src/index.js +1 -1
- package/dist/src/mcp/DEPRECATED.js +46 -60
- package/dist/src/mcp/fixes/mcp-error-fixes.js +115 -134
- package/dist/src/mcp/implementations/agent-tracker.js +114 -128
- package/dist/src/mcp/implementations/daa-tools.js +292 -350
- package/dist/src/mcp/implementations/workflow-tools.js +329 -361
- package/dist/src/mcp/mcp-config-manager.js +1183 -1331
- package/dist/src/mcp/mcp-server-novice-simplified.js +11 -17
- package/dist/src/mcp/mcp-server-novice.js +11 -17
- package/dist/src/mcp/mcp-server-sdk.js +11 -17
- package/dist/src/mcp/mcp-server.js +1620 -1484
- package/dist/src/mcp/ruv-swarm-wrapper.js +209 -239
- package/dist/src/memory/advanced-serializer.js +609 -589
- package/dist/src/memory/enhanced-examples.js +220 -305
- package/dist/src/memory/enhanced-memory.js +295 -336
- package/dist/src/memory/enhanced-session-serializer.js +408 -492
- package/dist/src/memory/fallback-memory-system.js +900 -1021
- package/dist/src/memory/fallback-store.js +93 -131
- package/dist/src/memory/high-performance-serialization.js +592 -730
- package/dist/src/memory/in-memory-store.js +161 -213
- package/dist/src/memory/index.js +123 -157
- package/dist/src/memory/lock-free-structures.js +578 -764
- package/dist/src/memory/memory-mapped-persistence.js +585 -766
- package/dist/src/memory/memory-pressure-manager.js +569 -707
- package/dist/src/memory/migration.js +358 -445
- package/dist/src/memory/shared-memory.js +641 -768
- package/dist/src/memory/sqlite-store.js +245 -325
- package/dist/src/memory/sqlite-wrapper.js +122 -151
- package/dist/src/memory/swarm-memory.js +470 -603
- package/dist/src/memory/test-example.js +126 -134
- package/dist/src/memory/ultra-fast-memory-store.js +622 -821
- package/dist/src/memory/unified-memory-manager.js +356 -437
- package/dist/src/migration/index.js +92 -0
- package/dist/src/migration/logger.js +121 -0
- package/dist/src/migration/migration-analyzer.js +268 -0
- package/dist/src/migration/migration-runner.js +522 -0
- package/dist/src/migration/migration-validator.js +285 -0
- package/dist/src/migration/progress-reporter.js +150 -0
- package/dist/src/migration/rollback-manager.js +321 -0
- package/dist/src/migration/tests/migration-system.test.js +7 -0
- package/dist/src/migration/types.js +3 -0
- package/dist/src/swarm/CodeRefactoringSwarm.js +777 -952
- package/dist/src/swarm/__tests__/integration.test.js +227 -0
- package/dist/src/swarm/__tests__/prompt-copier.test.js +344 -0
- package/dist/src/swarm/advanced-orchestrator.js +1095 -0
- package/dist/src/swarm/claude-code-interface.js +961 -0
- package/dist/src/swarm/claude-flow-executor.js +229 -0
- package/dist/src/swarm/consensus-coordinator.js +475 -0
- package/dist/src/swarm/coordinator.js +2993 -0
- package/dist/src/swarm/direct-executor.js +1180 -0
- package/dist/src/swarm/error-recovery/advanced-error-detection.js +691 -0
- package/dist/src/swarm/error-recovery/automated-recovery-workflows.js +998 -0
- package/dist/src/swarm/error-recovery/error-recovery-coordinator.js +1197 -0
- package/dist/src/swarm/error-recovery/recovery-monitoring.js +772 -0
- package/dist/src/swarm/error-recovery/resilience-architecture.js +714 -0
- package/dist/src/swarm/error-recovery/self-healing-mechanisms.js +1319 -0
- package/dist/src/swarm/error-recovery/test-error-recovery-effectiveness.js +808 -0
- package/dist/src/swarm/executor-v2.js +322 -0
- package/dist/src/swarm/executor.js +815 -0
- package/dist/src/swarm/hive-mind-integration.js +703 -0
- package/dist/src/swarm/index.js +41 -0
- package/dist/src/swarm/json-output-aggregator.js +267 -0
- package/dist/src/swarm/large-scale-coordinator.js +542 -0
- package/dist/src/swarm/mcp-integration-wrapper.js +628 -0
- package/dist/src/swarm/memory.js +1117 -0
- package/dist/src/swarm/optimizations/__tests__/optimization.test.js +348 -0
- package/dist/src/swarm/optimizations/async-file-manager.js +285 -0
- package/dist/src/swarm/optimizations/circular-buffer.js +162 -0
- package/dist/src/swarm/optimizations/connection-pool.js +244 -0
- package/dist/src/swarm/optimizations/index.js +28 -0
- package/dist/src/swarm/optimizations/optimized-executor.js +320 -0
- package/dist/src/swarm/optimizations/ttl-map.js +234 -0
- package/dist/src/swarm/prompt-cli.js +200 -0
- package/dist/src/swarm/prompt-copier-enhanced.js +202 -0
- package/dist/src/swarm/prompt-copier.js +381 -0
- package/dist/src/swarm/prompt-manager.js +295 -0
- package/dist/src/swarm/prompt-utils.js +310 -0
- package/dist/src/swarm/result-aggregator.js +718 -0
- package/dist/src/swarm/sparc-executor.js +1568 -0
- package/dist/src/swarm/strategies/auto.js +758 -0
- package/dist/src/swarm/strategies/base.js +128 -0
- package/dist/src/swarm/strategies/research.js +914 -0
- package/dist/src/swarm/strategies/strategy-metrics-patch.js +2 -0
- package/dist/src/swarm/types.js +52 -0
- package/dist/src/swarm/workers/copy-worker.js +56 -0
- package/dist/src/utils/__tests__/github-cli-safety-wrapper.test.js +332 -400
- package/dist/src/utils/github-cli-safe.js +56 -64
- package/dist/src/utils/github-cli-safety-wrapper.js +451 -546
- package/dist/src/utils/npx-isolated-cache.js +104 -119
- package/dist/src/utils/preference-manager.js +622 -652
- package/dist/src/utils/timezone-utils.js +86 -105
- package/dist/src/validators/epic-config-schema.js +214 -0
- package/dist/src/validators/index.js +10 -0
- package/dist/src/validators/swarm-init-validator.js +259 -0
- package/dist/src/validators/todowrite-batching-validator.js +215 -0
- package/dist/src/validators/todowrite-integration.js +187 -0
- package/package.json +2 -2
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* GitHub init command - Initialize GitHub-specific hooks and checkpoint system
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { spawn } from 'child_process';
|
|
11
|
-
import { promisify } from 'util';
|
|
4
|
+
*/ import { existsSync } from "fs";
|
|
5
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
6
|
+
import { join, dirname } from "path";
|
|
7
|
+
import { printSuccess, printError, printWarning } from "../../utils.js";
|
|
8
|
+
import { spawn } from "child_process";
|
|
9
|
+
import { promisify } from "util";
|
|
12
10
|
const exec = promisify(spawn);
|
|
13
|
-
|
|
14
11
|
/**
|
|
15
12
|
* Create GitHub-specific checkpoint hooks
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const content = `#!/bin/bash
|
|
13
|
+
*/ async function createGitHubCheckpointHooks() {
|
|
14
|
+
const helpersDir = join(process.cwd(), '.claude', 'helpers');
|
|
15
|
+
const checkpointHooksPath = join(helpersDir, 'github-checkpoint-hooks.sh');
|
|
16
|
+
const content = `#!/bin/bash
|
|
22
17
|
# GitHub-specific checkpoint hook functions for Claude settings.json
|
|
23
18
|
|
|
24
19
|
# Function to handle pre-edit checkpoints
|
|
@@ -237,307 +232,285 @@ case "$1" in
|
|
|
237
232
|
;;
|
|
238
233
|
esac
|
|
239
234
|
`;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
235
|
+
await writeFile(checkpointHooksPath, content, {
|
|
236
|
+
mode: 0o755
|
|
237
|
+
});
|
|
238
|
+
return checkpointHooksPath;
|
|
243
239
|
}
|
|
244
|
-
|
|
245
240
|
/**
|
|
246
241
|
* Create GitHub-specific settings.json
|
|
247
|
-
*/
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
CLAUDE_FLOW_CHECKPOINTS_ENABLED: 'true',
|
|
260
|
-
CREATE_GH_RELEASE: 'true',
|
|
261
|
-
},
|
|
262
|
-
permissions: {
|
|
263
|
-
allow: [
|
|
264
|
-
'Bash(npx claude-flow-novice *)',
|
|
265
|
-
'Bash(npm run lint)',
|
|
266
|
-
'Bash(npm run test:*)',
|
|
267
|
-
'Bash(npm test *)',
|
|
268
|
-
'Bash(git status)',
|
|
269
|
-
'Bash(git diff *)',
|
|
270
|
-
'Bash(git log *)',
|
|
271
|
-
'Bash(git add *)',
|
|
272
|
-
'Bash(git commit *)',
|
|
273
|
-
'Bash(git push)',
|
|
274
|
-
'Bash(git config *)',
|
|
275
|
-
'Bash(git tag *)',
|
|
276
|
-
'Bash(git branch *)',
|
|
277
|
-
'Bash(git checkout *)',
|
|
278
|
-
'Bash(git stash *)',
|
|
279
|
-
'Bash(git reset *)',
|
|
280
|
-
'Bash(git rev-parse *)',
|
|
281
|
-
'Bash(git ls-files *)',
|
|
282
|
-
'Bash(gh *)',
|
|
283
|
-
'Bash(node *)',
|
|
284
|
-
'Bash(which *)',
|
|
285
|
-
'Bash(pwd)',
|
|
286
|
-
'Bash(ls *)',
|
|
287
|
-
'Bash(jq *)',
|
|
288
|
-
'Bash(test *)',
|
|
289
|
-
'Bash(find *)',
|
|
290
|
-
'Bash(grep *)',
|
|
291
|
-
'Bash(sed *)',
|
|
292
|
-
'Bash(awk *)',
|
|
293
|
-
'Bash(curl *)',
|
|
294
|
-
'Bash(mkdir *)',
|
|
295
|
-
'Bash(cd *)',
|
|
296
|
-
'Bash(cat *)',
|
|
297
|
-
'Bash(echo *)',
|
|
298
|
-
'Bash(npx claude-flow@alpha *)',
|
|
299
|
-
'Bash(./claude-flow-novice *)',
|
|
300
|
-
'Bash(./.claude/helpers/*)',
|
|
301
|
-
],
|
|
302
|
-
deny: ['Bash(rm -rf /)', 'Bash(curl * | bash)', 'Bash(wget * | sh)', 'Bash(eval *)'],
|
|
303
|
-
},
|
|
304
|
-
hooks: {
|
|
305
|
-
PreToolUse: [
|
|
306
|
-
{
|
|
307
|
-
matcher: 'Bash',
|
|
308
|
-
hooks: [
|
|
309
|
-
{
|
|
310
|
-
type: 'command',
|
|
311
|
-
command:
|
|
312
|
-
"cat | jq -r '.tool_input.command // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks pre-command --command '{}' --validate-safety true --prepare-resources true",
|
|
313
|
-
},
|
|
314
|
-
],
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
matcher: 'Write|Edit|MultiEdit',
|
|
318
|
-
hooks: [
|
|
319
|
-
{
|
|
320
|
-
type: 'command',
|
|
321
|
-
command:
|
|
322
|
-
"cat | jq -r '.tool_input.file_path // .tool_input.path // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks pre-edit --file '{}' --auto-assign-agents true --load-context true",
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
type: 'command',
|
|
326
|
-
command: 'bash .claude/helpers/github-checkpoint-hooks.sh pre-edit "{{tool_input}}"',
|
|
327
|
-
},
|
|
328
|
-
],
|
|
329
|
-
},
|
|
330
|
-
],
|
|
331
|
-
PostToolUse: [
|
|
332
|
-
{
|
|
333
|
-
matcher: 'Bash',
|
|
334
|
-
hooks: [
|
|
335
|
-
{
|
|
336
|
-
type: 'command',
|
|
337
|
-
command:
|
|
338
|
-
"cat | jq -r '.tool_input.command // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks post-command --command '{}' --track-metrics true --store-results true",
|
|
339
|
-
},
|
|
340
|
-
],
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
matcher: 'Write|Edit|MultiEdit',
|
|
344
|
-
hooks: [
|
|
345
|
-
{
|
|
346
|
-
type: 'command',
|
|
347
|
-
command:
|
|
348
|
-
"cat | jq -r '.tool_input.file_path // .tool_input.path // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks post-edit --file '{}' --format true --update-memory true",
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
type: 'command',
|
|
352
|
-
command: 'bash .claude/helpers/github-checkpoint-hooks.sh post-edit "{{tool_input}}"',
|
|
353
|
-
},
|
|
354
|
-
],
|
|
242
|
+
*/ async function createGitHubSettingsJson() {
|
|
243
|
+
const settingsPath = join(process.cwd(), '.claude', 'settings.json');
|
|
244
|
+
const settings = {
|
|
245
|
+
env: {
|
|
246
|
+
CLAUDE_FLOW_AUTO_COMMIT: 'false',
|
|
247
|
+
CLAUDE_FLOW_AUTO_PUSH: 'false',
|
|
248
|
+
CLAUDE_FLOW_HOOKS_ENABLED: 'true',
|
|
249
|
+
CLAUDE_FLOW_TELEMETRY_ENABLED: 'true',
|
|
250
|
+
CLAUDE_FLOW_REMOTE_EXECUTION: 'true',
|
|
251
|
+
CLAUDE_FLOW_GITHUB_INTEGRATION: 'true',
|
|
252
|
+
CLAUDE_FLOW_CHECKPOINTS_ENABLED: 'true',
|
|
253
|
+
CREATE_GH_RELEASE: 'true'
|
|
355
254
|
},
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
255
|
+
permissions: {
|
|
256
|
+
allow: [
|
|
257
|
+
'Bash(npx claude-flow-novice *)',
|
|
258
|
+
'Bash(npm run lint)',
|
|
259
|
+
'Bash(npm run test:*)',
|
|
260
|
+
'Bash(npm test *)',
|
|
261
|
+
'Bash(git status)',
|
|
262
|
+
'Bash(git diff *)',
|
|
263
|
+
'Bash(git log *)',
|
|
264
|
+
'Bash(git add *)',
|
|
265
|
+
'Bash(git commit *)',
|
|
266
|
+
'Bash(git push)',
|
|
267
|
+
'Bash(git config *)',
|
|
268
|
+
'Bash(git tag *)',
|
|
269
|
+
'Bash(git branch *)',
|
|
270
|
+
'Bash(git checkout *)',
|
|
271
|
+
'Bash(git stash *)',
|
|
272
|
+
'Bash(git reset *)',
|
|
273
|
+
'Bash(git rev-parse *)',
|
|
274
|
+
'Bash(git ls-files *)',
|
|
275
|
+
'Bash(gh *)',
|
|
276
|
+
'Bash(node *)',
|
|
277
|
+
'Bash(which *)',
|
|
278
|
+
'Bash(pwd)',
|
|
279
|
+
'Bash(ls *)',
|
|
280
|
+
'Bash(jq *)',
|
|
281
|
+
'Bash(test *)',
|
|
282
|
+
'Bash(find *)',
|
|
283
|
+
'Bash(grep *)',
|
|
284
|
+
'Bash(sed *)',
|
|
285
|
+
'Bash(awk *)',
|
|
286
|
+
'Bash(curl *)',
|
|
287
|
+
'Bash(mkdir *)',
|
|
288
|
+
'Bash(cd *)',
|
|
289
|
+
'Bash(cat *)',
|
|
290
|
+
'Bash(echo *)',
|
|
291
|
+
'Bash(npx claude-flow@alpha *)',
|
|
292
|
+
'Bash(./claude-flow-novice *)',
|
|
293
|
+
'Bash(./.claude/helpers/*)'
|
|
294
|
+
],
|
|
295
|
+
deny: [
|
|
296
|
+
'Bash(rm -rf /)',
|
|
297
|
+
'Bash(curl * | bash)',
|
|
298
|
+
'Bash(wget * | sh)',
|
|
299
|
+
'Bash(eval *)'
|
|
300
|
+
]
|
|
365
301
|
},
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
302
|
+
hooks: {
|
|
303
|
+
PreToolUse: [
|
|
304
|
+
{
|
|
305
|
+
matcher: 'Bash',
|
|
306
|
+
hooks: [
|
|
307
|
+
{
|
|
308
|
+
type: 'command',
|
|
309
|
+
command: "cat | jq -r '.tool_input.command // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks pre-command --command '{}' --validate-safety true --prepare-resources true"
|
|
310
|
+
}
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
matcher: 'Write|Edit|MultiEdit',
|
|
315
|
+
hooks: [
|
|
316
|
+
{
|
|
317
|
+
type: 'command',
|
|
318
|
+
command: "cat | jq -r '.tool_input.file_path // .tool_input.path // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks pre-edit --file '{}' --auto-assign-agents true --load-context true"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
type: 'command',
|
|
322
|
+
command: 'bash .claude/helpers/github-checkpoint-hooks.sh pre-edit "{{tool_input}}"'
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
PostToolUse: [
|
|
328
|
+
{
|
|
329
|
+
matcher: 'Bash',
|
|
330
|
+
hooks: [
|
|
331
|
+
{
|
|
332
|
+
type: 'command',
|
|
333
|
+
command: "cat | jq -r '.tool_input.command // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks post-command --command '{}' --track-metrics true --store-results true"
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
matcher: 'Write|Edit|MultiEdit',
|
|
339
|
+
hooks: [
|
|
340
|
+
{
|
|
341
|
+
type: 'command',
|
|
342
|
+
command: "cat | jq -r '.tool_input.file_path // .tool_input.path // empty' | tr '\\n' '\\0' | xargs -0 -I {} npx claude-flow@alpha hooks post-edit --file '{}' --format true --update-memory true"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
type: 'command',
|
|
346
|
+
command: 'bash .claude/helpers/github-checkpoint-hooks.sh post-edit "{{tool_input}}"'
|
|
347
|
+
}
|
|
348
|
+
]
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
UserPromptSubmit: [
|
|
352
|
+
{
|
|
353
|
+
hooks: [
|
|
354
|
+
{
|
|
355
|
+
type: 'command',
|
|
356
|
+
command: 'bash .claude/helpers/github-checkpoint-hooks.sh task "{{user_prompt}}"'
|
|
357
|
+
}
|
|
358
|
+
]
|
|
359
|
+
}
|
|
360
|
+
],
|
|
361
|
+
Stop: [
|
|
362
|
+
{
|
|
363
|
+
hooks: [
|
|
364
|
+
{
|
|
365
|
+
type: 'command',
|
|
366
|
+
command: 'npx claude-flow@alpha hooks session-end --generate-summary true --persist-state true --export-metrics true'
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
type: 'command',
|
|
370
|
+
command: 'bash .claude/helpers/github-checkpoint-hooks.sh session-end'
|
|
371
|
+
}
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
PreCompact: [
|
|
376
|
+
{
|
|
377
|
+
matcher: 'manual',
|
|
378
|
+
hooks: [
|
|
379
|
+
{
|
|
380
|
+
type: 'command',
|
|
381
|
+
command: '/bin/bash -c \'INPUT=$(cat); CUSTOM=$(echo "$INPUT" | jq -r ".custom_instructions // \"\""); echo "🔄 PreCompact Guidance:"; echo "📋 IMPORTANT: Review CLAUDE.md in project root for:"; echo " • 54 available agents and concurrent usage patterns"; echo " • Swarm coordination strategies (hierarchical, mesh, adaptive)"; echo " • SPARC methodology workflows with batchtools optimization"; echo " • Critical concurrent execution rules (GOLDEN RULE: 1 MESSAGE = ALL OPERATIONS)"; if [ -n "$CUSTOM" ]; then echo "🎯 Custom compact instructions: $CUSTOM"; fi; echo "✅ Ready for compact operation"\''
|
|
382
|
+
}
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
matcher: 'auto',
|
|
387
|
+
hooks: [
|
|
388
|
+
{
|
|
389
|
+
type: 'command',
|
|
390
|
+
command: '/bin/bash -c \'echo "🔄 Auto-Compact Guidance (Context Window Full):"; echo "📋 CRITICAL: Before compacting, ensure you understand:"; echo " • All 54 agents available in .claude/agents/ directory"; echo " • Concurrent execution patterns from CLAUDE.md"; echo " • Batchtools optimization for 300% performance gains"; echo " • Swarm coordination strategies for complex tasks"; echo "⚡ Apply GOLDEN RULE: Always batch operations in single messages"; echo "✅ Auto-compact proceeding with full agent context"\''
|
|
391
|
+
}
|
|
392
|
+
]
|
|
393
|
+
}
|
|
394
|
+
]
|
|
380
395
|
},
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
'/bin/bash -c \'INPUT=$(cat); CUSTOM=$(echo "$INPUT" | jq -r ".custom_instructions // \"\""); echo "🔄 PreCompact Guidance:"; echo "📋 IMPORTANT: Review CLAUDE.md in project root for:"; echo " • 54 available agents and concurrent usage patterns"; echo " • Swarm coordination strategies (hierarchical, mesh, adaptive)"; echo " • SPARC methodology workflows with batchtools optimization"; echo " • Critical concurrent execution rules (GOLDEN RULE: 1 MESSAGE = ALL OPERATIONS)"; if [ -n "$CUSTOM" ]; then echo "🎯 Custom compact instructions: $CUSTOM"; fi; echo "✅ Ready for compact operation"\'',
|
|
390
|
-
},
|
|
391
|
-
],
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
matcher: 'auto',
|
|
395
|
-
hooks: [
|
|
396
|
-
{
|
|
397
|
-
type: 'command',
|
|
398
|
-
command:
|
|
399
|
-
'/bin/bash -c \'echo "🔄 Auto-Compact Guidance (Context Window Full):"; echo "📋 CRITICAL: Before compacting, ensure you understand:"; echo " • All 54 agents available in .claude/agents/ directory"; echo " • Concurrent execution patterns from CLAUDE.md"; echo " • Batchtools optimization for 300% performance gains"; echo " • Swarm coordination strategies for complex tasks"; echo "⚡ Apply GOLDEN RULE: Always batch operations in single messages"; echo "✅ Auto-compact proceeding with full agent context"\'',
|
|
400
|
-
},
|
|
401
|
-
],
|
|
402
|
-
},
|
|
403
|
-
],
|
|
404
|
-
},
|
|
405
|
-
includeCoAuthoredBy: true,
|
|
406
|
-
enabledMcpjsonServers: ['claude-flow', 'ruv-swarm'],
|
|
407
|
-
};
|
|
408
|
-
|
|
409
|
-
await writeFile(settingsPath, JSON.stringify(settings, null, 2));
|
|
410
|
-
return settingsPath;
|
|
396
|
+
includeCoAuthoredBy: true,
|
|
397
|
+
enabledMcpjsonServers: [
|
|
398
|
+
'claude-flow',
|
|
399
|
+
'ruv-swarm'
|
|
400
|
+
]
|
|
401
|
+
};
|
|
402
|
+
await writeFile(settingsPath, JSON.stringify(settings, null, 2));
|
|
403
|
+
return settingsPath;
|
|
411
404
|
}
|
|
412
|
-
|
|
413
405
|
/**
|
|
414
406
|
* Initialize GitHub-specific hooks and checkpoint system
|
|
415
|
-
*/
|
|
416
|
-
export async function githubInitCommand(flags = {}) {
|
|
417
|
-
try {
|
|
418
|
-
console.log('🐙 Initializing GitHub-specific hooks and checkpoint system...\n');
|
|
419
|
-
|
|
420
|
-
// Check if we're in a git repository
|
|
407
|
+
*/ export async function githubInitCommand(flags = {}) {
|
|
421
408
|
try {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
'
|
|
470
|
-
'helpers',
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
'utf8',
|
|
474
|
-
).catch(() => {
|
|
475
|
-
// Fallback content if template not found
|
|
476
|
-
return `#!/bin/bash
|
|
409
|
+
console.log('🐙 Initializing GitHub-specific hooks and checkpoint system...\n');
|
|
410
|
+
// Check if we're in a git repository
|
|
411
|
+
try {
|
|
412
|
+
const { execSync } = await import("child_process");
|
|
413
|
+
execSync('git rev-parse --git-dir', {
|
|
414
|
+
stdio: 'ignore'
|
|
415
|
+
});
|
|
416
|
+
} catch (error) {
|
|
417
|
+
printError('❌ Not in a git repository. Please initialize git first.');
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
// Check if gh CLI is available
|
|
421
|
+
let ghAvailable = false;
|
|
422
|
+
try {
|
|
423
|
+
const { execSync } = await import("child_process");
|
|
424
|
+
execSync('gh --version', {
|
|
425
|
+
stdio: 'ignore'
|
|
426
|
+
});
|
|
427
|
+
ghAvailable = true;
|
|
428
|
+
printSuccess('✅ GitHub CLI detected');
|
|
429
|
+
} catch (error) {
|
|
430
|
+
printWarning('⚠️ GitHub CLI not found. Some features will be limited.');
|
|
431
|
+
console.log(' Install gh: https://cli.github.com/');
|
|
432
|
+
}
|
|
433
|
+
// Create .claude directory structure
|
|
434
|
+
const claudeDir = join(process.cwd(), '.claude');
|
|
435
|
+
const helpersDir = join(claudeDir, 'helpers');
|
|
436
|
+
const checkpointsDir = join(claudeDir, 'checkpoints');
|
|
437
|
+
await mkdir(claudeDir, {
|
|
438
|
+
recursive: true
|
|
439
|
+
});
|
|
440
|
+
await mkdir(helpersDir, {
|
|
441
|
+
recursive: true
|
|
442
|
+
});
|
|
443
|
+
await mkdir(checkpointsDir, {
|
|
444
|
+
recursive: true
|
|
445
|
+
});
|
|
446
|
+
// Check if settings.json already exists
|
|
447
|
+
const settingsPath = join(claudeDir, 'settings.json');
|
|
448
|
+
if (existsSync(settingsPath) && !flags.force) {
|
|
449
|
+
printWarning('⚠️ settings.json already exists. Use --force to overwrite.');
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
// Create GitHub checkpoint hooks
|
|
453
|
+
const hooksPath = await createGitHubCheckpointHooks();
|
|
454
|
+
printSuccess(`✅ Created GitHub checkpoint hooks: ${hooksPath}`);
|
|
455
|
+
// Copy standard checkpoint manager
|
|
456
|
+
const checkpointManagerPath = join(helpersDir, 'checkpoint-manager.sh');
|
|
457
|
+
const checkpointManagerContent = await readFile(join(dirname(import.meta.url).replace('file://', ''), '..', 'init', 'templates', 'commands', 'helpers', 'checkpoint-manager.sh'), 'utf8').catch(()=>{
|
|
458
|
+
// Fallback content if template not found
|
|
459
|
+
return `#!/bin/bash
|
|
477
460
|
# Checkpoint manager for Claude Flow
|
|
478
461
|
# Use github-checkpoint-hooks.sh for checkpoint operations
|
|
479
462
|
`;
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
463
|
+
});
|
|
464
|
+
await writeFile(checkpointManagerPath, checkpointManagerContent, {
|
|
465
|
+
mode: 0o755
|
|
466
|
+
});
|
|
467
|
+
printSuccess(`✅ Created checkpoint manager: ${checkpointManagerPath}`);
|
|
468
|
+
// Create GitHub-specific settings.json
|
|
469
|
+
await createGitHubSettingsJson();
|
|
470
|
+
printSuccess(`✅ Created GitHub settings: ${settingsPath}`);
|
|
471
|
+
// Initialize first checkpoint
|
|
472
|
+
try {
|
|
473
|
+
const { execSync } = await import("child_process");
|
|
474
|
+
execSync(`bash ${hooksPath} task "Initialize GitHub checkpoint system"`, {
|
|
475
|
+
stdio: 'inherit'
|
|
476
|
+
});
|
|
477
|
+
printSuccess('✅ Created initial checkpoint');
|
|
478
|
+
} catch (error) {
|
|
479
|
+
printWarning('⚠️ Could not create initial checkpoint: ' + error.message);
|
|
480
|
+
}
|
|
481
|
+
// Show completion message
|
|
482
|
+
console.log('\n' + '='.repeat(60));
|
|
483
|
+
printSuccess('🎉 GitHub hooks initialized successfully!');
|
|
484
|
+
console.log('='.repeat(60) + '\n');
|
|
485
|
+
console.log("📋 What's been set up:\n");
|
|
486
|
+
console.log(' 1. GitHub-specific checkpoint hooks in .claude/helpers/');
|
|
487
|
+
console.log(' 2. Automatic GitHub releases for checkpoints' + (ghAvailable ? ' ✅' : ' (requires gh CLI)'));
|
|
488
|
+
console.log(' 3. Enhanced rollback with GitHub integration');
|
|
489
|
+
console.log(' 4. Session summaries with GitHub releases');
|
|
490
|
+
console.log(' 5. Full GitHub CLI permissions in settings.json');
|
|
491
|
+
console.log('\n🚀 Quick Start:\n');
|
|
492
|
+
console.log(' 1. Edit any file - automatic checkpoint created');
|
|
493
|
+
console.log(' 2. Start new tasks - task checkpoints with GitHub releases');
|
|
494
|
+
console.log(' 3. End sessions - comprehensive GitHub summary');
|
|
495
|
+
console.log('\n📚 Checkpoint Management:\n');
|
|
496
|
+
console.log(' # List all checkpoints');
|
|
497
|
+
console.log(' .claude/helpers/checkpoint-manager.sh list');
|
|
498
|
+
console.log('');
|
|
499
|
+
console.log(' # View GitHub releases');
|
|
500
|
+
console.log(' gh release list');
|
|
501
|
+
console.log('');
|
|
502
|
+
console.log(' # Rollback to checkpoint');
|
|
503
|
+
console.log(' .claude/helpers/checkpoint-manager.sh rollback checkpoint-YYYYMMDD-HHMMSS');
|
|
504
|
+
console.log('');
|
|
505
|
+
console.log(' # Download release');
|
|
506
|
+
console.log(' gh release download checkpoint-YYYYMMDD-HHMMSS');
|
|
507
|
+
if (!ghAvailable) {
|
|
508
|
+
console.log('\n⚠️ Note: Install GitHub CLI for full features:');
|
|
509
|
+
console.log(' https://cli.github.com/');
|
|
510
|
+
}
|
|
511
|
+
console.log('\n💡 Pro tip: GitHub releases make it easy to share checkpoints with your team!');
|
|
496
512
|
} catch (error) {
|
|
497
|
-
|
|
513
|
+
printError(`❌ Failed to initialize GitHub hooks: ${error.message}`);
|
|
514
|
+
console.error(error);
|
|
498
515
|
}
|
|
499
|
-
|
|
500
|
-
// Show completion message
|
|
501
|
-
console.log('\n' + '='.repeat(60));
|
|
502
|
-
printSuccess('🎉 GitHub hooks initialized successfully!');
|
|
503
|
-
console.log('='.repeat(60) + '\n');
|
|
504
|
-
|
|
505
|
-
console.log("📋 What's been set up:\n");
|
|
506
|
-
console.log(' 1. GitHub-specific checkpoint hooks in .claude/helpers/');
|
|
507
|
-
console.log(
|
|
508
|
-
' 2. Automatic GitHub releases for checkpoints' +
|
|
509
|
-
(ghAvailable ? ' ✅' : ' (requires gh CLI)'),
|
|
510
|
-
);
|
|
511
|
-
console.log(' 3. Enhanced rollback with GitHub integration');
|
|
512
|
-
console.log(' 4. Session summaries with GitHub releases');
|
|
513
|
-
console.log(' 5. Full GitHub CLI permissions in settings.json');
|
|
514
|
-
|
|
515
|
-
console.log('\n🚀 Quick Start:\n');
|
|
516
|
-
console.log(' 1. Edit any file - automatic checkpoint created');
|
|
517
|
-
console.log(' 2. Start new tasks - task checkpoints with GitHub releases');
|
|
518
|
-
console.log(' 3. End sessions - comprehensive GitHub summary');
|
|
519
|
-
|
|
520
|
-
console.log('\n📚 Checkpoint Management:\n');
|
|
521
|
-
console.log(' # List all checkpoints');
|
|
522
|
-
console.log(' .claude/helpers/checkpoint-manager.sh list');
|
|
523
|
-
console.log('');
|
|
524
|
-
console.log(' # View GitHub releases');
|
|
525
|
-
console.log(' gh release list');
|
|
526
|
-
console.log('');
|
|
527
|
-
console.log(' # Rollback to checkpoint');
|
|
528
|
-
console.log(' .claude/helpers/checkpoint-manager.sh rollback checkpoint-YYYYMMDD-HHMMSS');
|
|
529
|
-
console.log('');
|
|
530
|
-
console.log(' # Download release');
|
|
531
|
-
console.log(' gh release download checkpoint-YYYYMMDD-HHMMSS');
|
|
532
|
-
|
|
533
|
-
if (!ghAvailable) {
|
|
534
|
-
console.log('\n⚠️ Note: Install GitHub CLI for full features:');
|
|
535
|
-
console.log(' https://cli.github.com/');
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
console.log('\n💡 Pro tip: GitHub releases make it easy to share checkpoints with your team!');
|
|
539
|
-
} catch (error) {
|
|
540
|
-
printError(`❌ Failed to initialize GitHub hooks: ${error.message}`);
|
|
541
|
-
console.error(error);
|
|
542
|
-
}
|
|
543
516
|
}
|