agenthud 0.2.2 → 0.3.0

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 CHANGED
@@ -44,14 +44,14 @@ npx agenthud
44
44
  ## Features
45
45
 
46
46
  - **Git**: Branch, commits, line changes
47
- - **Plan**: Progress, decisions from `.agent/plan.json`
47
+ - **Plan**: Progress, decisions from `.agenthud/plan.json`
48
48
  - **Tests**: Results with outdated detection
49
49
 
50
50
  ## Setup
51
51
 
52
52
  Add to your `CLAUDE.md`:
53
53
  ```markdown
54
- Maintain `.agent/` directory:
54
+ Maintain `.agenthud/` directory:
55
55
  - Update `plan.json` when plan changes
56
56
  - Update `decisions.json` for key decisions
57
57
  ```
package/dist/index.js CHANGED
@@ -259,7 +259,7 @@ function WelcomePanel() {
259
259
  return /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", borderStyle: "single", paddingX: 1, width: PANEL_WIDTH, children: [
260
260
  /* @__PURE__ */ jsx4(Box4, { marginTop: -1, children: /* @__PURE__ */ jsx4(Text4, { children: " Welcome to agenthud " }) }),
261
261
  /* @__PURE__ */ jsx4(Text4, { children: " " }),
262
- /* @__PURE__ */ jsx4(Text4, { children: " No .agent/ directory found." }),
262
+ /* @__PURE__ */ jsx4(Text4, { children: " No .agenthud/ directory found." }),
263
263
  /* @__PURE__ */ jsx4(Text4, { children: " " }),
264
264
  /* @__PURE__ */ jsx4(Text4, { children: " Quick setup:" }),
265
265
  /* @__PURE__ */ jsx4(Text4, { color: "cyan", children: " npx agenthud init" }),
@@ -340,7 +340,7 @@ function getUncommittedCount() {
340
340
  // src/data/plan.ts
341
341
  import { readFileSync as nodeReadFileSync } from "fs";
342
342
  import { join } from "path";
343
- var AGENT_DIR = ".agent";
343
+ var AGENT_DIR = ".agenthud";
344
344
  var PLAN_FILE = "plan.json";
345
345
  var DECISIONS_FILE = "decisions.json";
346
346
  var MAX_DECISIONS = 3;
@@ -376,7 +376,7 @@ function getPlanData(dir = process.cwd()) {
376
376
  import { readFileSync as nodeReadFileSync2 } from "fs";
377
377
  import { execSync as nodeExecSync2 } from "child_process";
378
378
  import { join as join2 } from "path";
379
- var AGENT_DIR2 = ".agent";
379
+ var AGENT_DIR2 = ".agenthud";
380
380
  var TEST_RESULTS_FILE = "test-results.json";
381
381
  var readFileFn2 = (path) => nodeReadFileSync2(path, "utf-8");
382
382
  var getHeadHashFn = () => {
@@ -568,7 +568,7 @@ var fs = {
568
568
  };
569
569
  var AGENT_STATE_SECTION = `## Agent State
570
570
 
571
- Maintain \`.agent/\` directory:
571
+ Maintain \`.agenthud/\` directory:
572
572
  - Update \`plan.json\` when plan changes
573
573
  - Append to \`decisions.json\` for key decisions
574
574
  `;
@@ -577,23 +577,35 @@ function runInit() {
577
577
  created: [],
578
578
  skipped: []
579
579
  };
580
- if (!fs.existsSync(".agent")) {
581
- fs.mkdirSync(".agent", { recursive: true });
582
- result.created.push(".agent/");
580
+ if (!fs.existsSync(".agenthud")) {
581
+ fs.mkdirSync(".agenthud", { recursive: true });
582
+ result.created.push(".agenthud/");
583
583
  } else {
584
- result.skipped.push(".agent/");
584
+ result.skipped.push(".agenthud/");
585
585
  }
586
- if (!fs.existsSync(".agent/plan.json")) {
587
- fs.writeFileSync(".agent/plan.json", "{}\n");
588
- result.created.push(".agent/plan.json");
586
+ if (!fs.existsSync(".agenthud/plan.json")) {
587
+ fs.writeFileSync(".agenthud/plan.json", "{}\n");
588
+ result.created.push(".agenthud/plan.json");
589
589
  } else {
590
- result.skipped.push(".agent/plan.json");
590
+ result.skipped.push(".agenthud/plan.json");
591
591
  }
592
- if (!fs.existsSync(".agent/decisions.json")) {
593
- fs.writeFileSync(".agent/decisions.json", "[]\n");
594
- result.created.push(".agent/decisions.json");
592
+ if (!fs.existsSync(".agenthud/decisions.json")) {
593
+ fs.writeFileSync(".agenthud/decisions.json", "[]\n");
594
+ result.created.push(".agenthud/decisions.json");
595
595
  } else {
596
- result.skipped.push(".agent/decisions.json");
596
+ result.skipped.push(".agenthud/decisions.json");
597
+ }
598
+ if (!fs.existsSync(".gitignore")) {
599
+ fs.writeFileSync(".gitignore", ".agenthud/\n");
600
+ result.created.push(".gitignore");
601
+ } else {
602
+ const content = fs.readFileSync(".gitignore");
603
+ if (!content.includes(".agenthud/")) {
604
+ fs.appendFileSync(".gitignore", "\n.agenthud/\n");
605
+ result.created.push(".gitignore");
606
+ } else {
607
+ result.skipped.push(".gitignore");
608
+ }
597
609
  }
598
610
  if (!fs.existsSync("CLAUDE.md")) {
599
611
  fs.writeFileSync("CLAUDE.md", AGENT_STATE_SECTION);
@@ -624,11 +636,11 @@ if (options.command === "init") {
624
636
  result.skipped.forEach((file) => console.log(` ${file}`));
625
637
  }
626
638
  console.log("\nNext steps:");
627
- console.log(" 1. Edit .agent/plan.json to add your project plan");
639
+ console.log(" 1. Edit .agenthud/plan.json to add your project plan");
628
640
  console.log(" 2. Run: npx agenthud\n");
629
641
  process.exit(0);
630
642
  }
631
- var agentDirExists = existsSync(".agent");
643
+ var agentDirExists = existsSync(".agenthud");
632
644
  if (options.mode === "watch") {
633
645
  clearScreen();
634
646
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenthud",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "CLI tool to monitor agent status in real-time. Works with Claude Code, multi-agent workflows, and any AI agent system.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -7,7 +7,7 @@
7
7
  * npm run test:save
8
8
  *
9
9
  * Output:
10
- * .agent/test-results.json
10
+ * .agenthud/test-results.json
11
11
  */
12
12
 
13
13
  import { execSync } from "child_process";
@@ -106,8 +106,8 @@ function main(): void {
106
106
  failures: extractFailures(vitestResult),
107
107
  };
108
108
 
109
- // Ensure .agent directory exists
110
- const agentDir = join(process.cwd(), ".agent");
109
+ // Ensure .agenthud directory exists
110
+ const agentDir = join(process.cwd(), ".agenthud");
111
111
  if (!existsSync(agentDir)) {
112
112
  mkdirSync(agentDir, { recursive: true });
113
113
  }