chore: rename Claudeman to Codeman

Full product rename across 109 files (~834 occurrences):
- Env vars: CLAUDEMAN_* → CODEMAN_*
- Data dirs: ~/.claudeman/ → ~/.codeman/, ~/claudeman-cases/ → ~/codeman-cases/
- tmux prefix: claudeman- → codeman-
- localStorage: claudeman-* → codeman-*
- Package/CLI: claudeman → codeman
- GitHub repo: Ark0N/Claudeman → Ark0N/Codeman
- systemd service: claudeman-web → codeman-web
- Class: ClaudemanApp → CodemanApp

Migration infrastructure for seamless transition:
- state-store.ts: auto-migrates data directories on startup
- tmux-manager.ts: dual-prefix detection (legacy claudeman- sessions)
- app.js: localStorage key migration (preserves old keys)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-02-26 16:44:34 +01:00
co-authored by Claude Opus 4.6
parent 3ccd22161c
commit 3795c45cc1
109 changed files with 711 additions and 679 deletions
+7 -7
View File
@@ -12,7 +12,7 @@ import { tmpdir } from 'node:os';
import { generateClaudeMd } from '../src/templates/claude-md.js';
describe('generateClaudeMd', () => {
const testDir = join(tmpdir(), 'claudeman-template-test-' + Date.now());
const testDir = join(tmpdir(), 'codeman-template-test-' + Date.now());
beforeEach(() => {
if (!existsSync(testDir)) {
@@ -54,11 +54,11 @@ describe('generateClaudeMd', () => {
expect(result).toContain(`**Last Updated**: ${today}`);
});
it('should include Claudeman environment section', () => {
it('should include Codeman environment section', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('## Claudeman Environment');
expect(result).toContain('CLAUDEMAN_MUX=1');
expect(result).toContain('## Codeman Environment');
expect(result).toContain('CODEMAN_MUX=1');
});
it('should include work principles', () => {
@@ -146,20 +146,20 @@ About [PROJECT_NAME]: [PROJECT_DESCRIPTION]
const result = generateClaudeMd('my-project', 'desc', '/nonexistent/template.md');
// Should get default template content
expect(result).toContain('## Claudeman Environment');
expect(result).toContain('## Codeman Environment');
expect(result).toContain('**Project Name**: my-project');
});
it('should fall back to default template if custom path is empty', () => {
const result = generateClaudeMd('my-project', 'desc', '');
expect(result).toContain('## Claudeman Environment');
expect(result).toContain('## Codeman Environment');
});
it('should fall back to default template if custom path is undefined', () => {
const result = generateClaudeMd('my-project', 'desc', undefined);
expect(result).toContain('## Claudeman Environment');
expect(result).toContain('## Codeman Environment');
});
});
});