mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-04-25 17:25:23 +02:00
revert: remove codebase intelligence system
Rolled back the intel system due to overengineering concerns: - 1200+ line hook with SQLite graph database - 21MB sql.js dependency - Entity generation spawning additional Claude calls - Complex system with unclear value Removed: - /gsd:analyze-codebase command - /gsd:query-intel command - gsd-intel-index.js, gsd-intel-session.js, gsd-intel-prune.js hooks - gsd-entity-generator, gsd-indexer agents - entity.md template - sql.js dependency Preserved: - Model profiles feature - Statusline hook - All other v1.9.x improvements -3,065 lines removed Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,77 +1,27 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Bundle GSD hooks with dependencies for zero-config installation.
|
||||
*
|
||||
* sql.js includes a WASM binary that must be inlined for portability.
|
||||
* This script bundles hooks into self-contained files that work from any cwd.
|
||||
* Copy GSD hooks to dist for installation.
|
||||
*/
|
||||
|
||||
const esbuild = require('esbuild');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const HOOKS_DIR = path.join(__dirname, '..', 'hooks');
|
||||
const DIST_DIR = path.join(HOOKS_DIR, 'dist');
|
||||
|
||||
// Hooks that need bundling (have npm dependencies)
|
||||
const HOOKS_TO_BUNDLE = [
|
||||
'gsd-intel-index.js'
|
||||
];
|
||||
|
||||
// Hooks that are pure Node.js (just copy)
|
||||
// Hooks to copy (pure Node.js, no bundling needed)
|
||||
const HOOKS_TO_COPY = [
|
||||
'gsd-intel-session.js',
|
||||
'gsd-intel-prune.js',
|
||||
'gsd-check-update.js',
|
||||
'gsd-statusline.js'
|
||||
];
|
||||
|
||||
async function build() {
|
||||
function build() {
|
||||
// Ensure dist directory exists
|
||||
if (!fs.existsSync(DIST_DIR)) {
|
||||
fs.mkdirSync(DIST_DIR, { recursive: true });
|
||||
}
|
||||
|
||||
// Bundle hooks with dependencies
|
||||
for (const hook of HOOKS_TO_BUNDLE) {
|
||||
const entryPoint = path.join(HOOKS_DIR, hook);
|
||||
const outfile = path.join(DIST_DIR, hook);
|
||||
|
||||
if (!fs.existsSync(entryPoint)) {
|
||||
console.warn(`Warning: ${hook} not found, skipping`);
|
||||
continue;
|
||||
}
|
||||
|
||||
console.log(`Bundling ${hook}...`);
|
||||
|
||||
await esbuild.build({
|
||||
entryPoints: [entryPoint],
|
||||
bundle: true,
|
||||
platform: 'node',
|
||||
target: 'node18',
|
||||
outfile,
|
||||
format: 'cjs',
|
||||
// Inline WASM as base64 for sql.js
|
||||
loader: {
|
||||
'.wasm': 'binary'
|
||||
},
|
||||
// Don't externalize anything - bundle it all
|
||||
external: [],
|
||||
// Minify for smaller package size
|
||||
minify: true,
|
||||
// Keep function names for debugging
|
||||
keepNames: true,
|
||||
// Handle sql.js WASM loading
|
||||
define: {
|
||||
'process.env.NODE_ENV': '"production"'
|
||||
}
|
||||
// Note: shebang preserved from source file by esbuild
|
||||
});
|
||||
|
||||
console.log(` → ${outfile}`);
|
||||
}
|
||||
|
||||
// Copy pure Node.js hooks (no bundling needed)
|
||||
// Copy hooks to dist
|
||||
for (const hook of HOOKS_TO_COPY) {
|
||||
const src = path.join(HOOKS_DIR, hook);
|
||||
const dest = path.join(DIST_DIR, hook);
|
||||
@@ -89,7 +39,4 @@ async function build() {
|
||||
console.log('\nBuild complete.');
|
||||
}
|
||||
|
||||
build().catch(err => {
|
||||
console.error('Build failed:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
build();
|
||||
|
||||
Reference in New Issue
Block a user