hebbian 0.3.0 → 0.3.2

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.
@@ -1519,14 +1519,17 @@ __export(hooks_exports, {
1519
1519
  installHooks: () => installHooks,
1520
1520
  uninstallHooks: () => uninstallHooks
1521
1521
  });
1522
- import { readFileSync as readFileSync5, writeFileSync as writeFileSync10, existsSync as existsSync12, mkdirSync as mkdirSync7 } from "fs";
1522
+ import { readFileSync as readFileSync5, writeFileSync as writeFileSync10, existsSync as existsSync12, mkdirSync as mkdirSync7, readdirSync as readdirSync8 } from "fs";
1523
1523
  import { join as join13, resolve as resolve2 } from "path";
1524
1524
  function installHooks(brainRoot, projectRoot) {
1525
1525
  const root = projectRoot || process.cwd();
1526
+ const resolvedBrain = resolve2(brainRoot);
1527
+ if (!existsSync12(resolvedBrain) || !hasBrainRegions(resolvedBrain)) {
1528
+ initBrain(resolvedBrain);
1529
+ }
1526
1530
  const settingsDir = join13(root, SETTINGS_DIR);
1527
1531
  const settingsPath = join13(settingsDir, SETTINGS_FILE);
1528
1532
  const defaultBrain = resolve2(root, "brain");
1529
- const resolvedBrain = resolve2(brainRoot);
1530
1533
  const brainFlag = resolvedBrain === defaultBrain ? "" : ` --brain ${resolvedBrain}`;
1531
1534
  let settings = {};
1532
1535
  if (existsSync12(settingsPath)) {
@@ -1665,11 +1668,21 @@ function checkHooks(projectRoot) {
1665
1668
  }
1666
1669
  return status;
1667
1670
  }
1671
+ function hasBrainRegions(dir) {
1672
+ if (!existsSync12(dir)) return false;
1673
+ try {
1674
+ const entries = readdirSync8(dir);
1675
+ return REGIONS.some((r) => entries.includes(r));
1676
+ } catch {
1677
+ return false;
1678
+ }
1679
+ }
1668
1680
  var SETTINGS_DIR, SETTINGS_FILE;
1669
1681
  var init_hooks = __esm({
1670
1682
  "src/hooks.ts"() {
1671
1683
  "use strict";
1672
1684
  init_constants();
1685
+ init_init();
1673
1686
  SETTINGS_DIR = ".claude";
1674
1687
  SETTINGS_FILE = "settings.local.json";
1675
1688
  }
@@ -1964,7 +1977,7 @@ var init_digest = __esm({
1964
1977
  init_constants();
1965
1978
  import { parseArgs } from "util";
1966
1979
  import { resolve as resolve3 } from "path";
1967
- var VERSION = "0.3.0";
1980
+ var VERSION = "0.3.2";
1968
1981
  var HELP = `
1969
1982
  hebbian v${VERSION} \u2014 Folder-as-neuron brain for any AI agent.
1970
1983
 
@@ -2143,9 +2156,11 @@ async function main(argv) {
2143
2156
  const sub = positionals[1];
2144
2157
  const { installHooks: installHooks2, uninstallHooks: uninstallHooks2, checkHooks: checkHooks2 } = await Promise.resolve().then(() => (init_hooks(), hooks_exports));
2145
2158
  switch (sub) {
2146
- case "install":
2147
- installHooks2(brainRoot);
2159
+ case "install": {
2160
+ const installBrain = values.brain ? resolve3(values.brain) : resolve3("./brain");
2161
+ installHooks2(installBrain);
2148
2162
  break;
2163
+ }
2149
2164
  case "uninstall":
2150
2165
  uninstallHooks2();
2151
2166
  break;