@link-assistant/hive-mind 1.26.4 → 1.27.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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @link-assistant/hive-mind
2
2
 
3
+ ## 1.27.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f6e909e: feat: make --gitkeep-file enabled by default for all --tools (Issue #1385)
8
+
9
+ Previously, `--claude-file` was the default for `--tool claude`, while `--gitkeep-file` was the default for other tools. Now `--gitkeep-file` is the universal default for all `--tool` values, including `--tool claude`.
10
+
11
+ As explained in the referenced video, CLAUDE.md and AGENT.md files generally do not help AI tools and should be avoided. Users who need CLAUDE.md-based task passing can still explicitly opt in with `--claude-file`.
12
+
3
13
  ## 1.26.4
4
14
 
5
15
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@link-assistant/hive-mind",
3
- "version": "1.26.4",
3
+ "version": "1.27.0",
4
4
  "description": "AI-powered issue solver and hive mind for collaborative problem solving",
5
5
  "main": "src/hive.mjs",
6
6
  "type": "module",
@@ -70,8 +70,8 @@ export async function handleAutoPrCreation({ argv, tempDir, branchName, issueNum
70
70
  }
71
71
  }
72
72
  } else {
73
- // .gitkeep mode (via explicit --gitkeep-file or auto-gitkeep-file fallback)
74
- const modeDesc = argv.gitkeepFile === true ? '.gitkeep (explicit --gitkeep-file)' : '.gitkeep (CLAUDE.md is ignored)';
73
+ // .gitkeep mode (default for all tools, or auto-gitkeep-file fallback)
74
+ const modeDesc = argv.claudeFile === false ? '.gitkeep (default)' : '.gitkeep (CLAUDE.md is ignored)';
75
75
  await log(formatAligned('📝', 'Creating:', modeDesc));
76
76
 
77
77
  filePath = path.join(tempDir, '.gitkeep');
@@ -133,7 +133,7 @@ Proceed.
133
133
  }
134
134
  } else {
135
135
  // .gitkeep: Use minimal metadata format (explicit --gitkeep-file or auto-gitkeep-file fallback)
136
- const creationReason = argv.gitkeepFile === true ? '# This file was created with --gitkeep-file flag' : '# This file was created because CLAUDE.md is in .gitignore (--auto-gitkeep-file=true)';
136
+ const creationReason = argv.claudeFile === false ? '# This file was created with --gitkeep-file (default)' : '# This file was created because CLAUDE.md is in .gitignore (--auto-gitkeep-file=true)';
137
137
  const gitkeepContent = `# Auto-generated file for PR creation
138
138
  # Issue: ${issueUrl}
139
139
  # Branch: ${branchName}
@@ -297,8 +297,8 @@ ${creationReason}
297
297
  }
298
298
 
299
299
  await log(formatAligned('📝', 'Creating commit:', `With ${commitFileName} file`));
300
- // Commit message distinguishes between explicit --gitkeep-file and auto-gitkeep-file fallback
301
- const fileDesc = commitFileName === 'CLAUDE.md' ? 'CLAUDE.md with task information for AI processing' : `.gitkeep for PR creation (${argv.gitkeepFile === true ? 'created with --gitkeep-file flag' : 'CLAUDE.md is in .gitignore'})`;
300
+ // Commit message distinguishes between CLAUDE.md and .gitkeep modes
301
+ const fileDesc = commitFileName === 'CLAUDE.md' ? 'CLAUDE.md with task information for AI processing' : `.gitkeep for PR creation (${argv.claudeFile === false ? 'default mode' : 'CLAUDE.md is in .gitignore'})`;
302
302
  const commitMessage = `Initial commit with task details\n\nAdding ${fileDesc}.\nThis file will be removed when the task is complete.\n\nIssue: ${issueUrl}`;
303
303
 
304
304
  // Use explicit cwd option for better reliability
@@ -101,13 +101,13 @@ export const SOLVE_OPTION_DEFINITIONS = {
101
101
  },
102
102
  'claude-file': {
103
103
  type: 'boolean',
104
- description: 'Create CLAUDE.md file for task details (default for --tool claude, mutually exclusive with --gitkeep-file)',
105
- default: true,
104
+ description: 'Create CLAUDE.md file for task details (mutually exclusive with --gitkeep-file)',
105
+ default: false,
106
106
  },
107
107
  'gitkeep-file': {
108
108
  type: 'boolean',
109
- description: 'Create .gitkeep file instead of CLAUDE.md (default for --tool agent/opencode/codex, mutually exclusive with --claude-file)',
110
- default: false,
109
+ description: 'Create .gitkeep file instead of CLAUDE.md (default for all --tool values, mutually exclusive with --claude-file)',
110
+ default: true,
111
111
  },
112
112
  'auto-gitkeep-file': {
113
113
  type: 'boolean',
@@ -541,20 +541,6 @@ export const parseArguments = async (yargs, hideBin) => {
541
541
  argv.model = 'minimax-m2.5-free';
542
542
  }
543
543
 
544
- // Tool-specific defaults for --claude-file and --gitkeep-file
545
- // For non-Claude tools, use .gitkeep by default to avoid polluting CLAUDE.md
546
- // (CLAUDE.md has special meaning for Claude Code as a project-level instruction file)
547
- // See: https://github.com/link-assistant/hive-mind/issues/1158
548
- const claudeFileExplicitlyProvided = rawArgs.includes('--claude-file') || rawArgs.includes('--no-claude-file');
549
- const gitkeepFileExplicitlyProvided = rawArgs.includes('--gitkeep-file') || rawArgs.includes('--no-gitkeep-file');
550
-
551
- if (argv.tool !== 'claude' && !claudeFileExplicitlyProvided && !gitkeepFileExplicitlyProvided) {
552
- // User did not explicitly provide either option, so use the correct defaults for non-Claude tools
553
- // Non-Claude tools (agent, opencode, codex) should use .gitkeep by default
554
- argv.claudeFile = false;
555
- argv.gitkeepFile = true;
556
- }
557
-
558
544
  // Validate mutual exclusivity of --claude-file and --gitkeep-file
559
545
  // Check if both are explicitly enabled (user passed both --claude-file and --gitkeep-file)
560
546
  if (argv.claudeFile && argv.gitkeepFile) {
@@ -588,7 +574,7 @@ export const parseArguments = async (yargs, hideBin) => {
588
574
  argv.claudeFile = false;
589
575
  }
590
576
 
591
- // If user explicitly set --no-gitkeep-file, enable claude-file (this is the default anyway)
577
+ // If user explicitly set --no-gitkeep-file, enable claude-file
592
578
  if (noGitkeepFile && !argv.claudeFile) {
593
579
  argv.claudeFile = true;
594
580
  argv.gitkeepFile = false;