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
+19 -19
View File
@@ -280,41 +280,41 @@ describe('Session State Management', () => {
describe('Mux Session Environment', () => {
interface MuxEnv {
CLAUDEMAN_MUX: string;
CLAUDEMAN_SESSION_ID: string;
CLAUDEMAN_MUX_NAME: string;
CODEMAN_MUX: string;
CODEMAN_SESSION_ID: string;
CODEMAN_MUX_NAME: string;
}
const createMuxEnv = (sessionId: string, muxName: string): MuxEnv => ({
CLAUDEMAN_MUX: '1',
CLAUDEMAN_SESSION_ID: sessionId,
CLAUDEMAN_MUX_NAME: muxName,
CODEMAN_MUX: '1',
CODEMAN_SESSION_ID: sessionId,
CODEMAN_MUX_NAME: muxName,
});
const isClaudemanSession = (env: Record<string, string | undefined>): boolean => {
return env.CLAUDEMAN_MUX === '1';
const isCodemanSession = (env: Record<string, string | undefined>): boolean => {
return env.CODEMAN_MUX === '1';
};
it('should create valid mux environment', () => {
const env = createMuxEnv('session-123', 'claudeman-test');
expect(env.CLAUDEMAN_MUX).toBe('1');
expect(env.CLAUDEMAN_SESSION_ID).toBe('session-123');
expect(env.CLAUDEMAN_MUX_NAME).toBe('claudeman-test');
const env = createMuxEnv('session-123', 'codeman-test');
expect(env.CODEMAN_MUX).toBe('1');
expect(env.CODEMAN_SESSION_ID).toBe('session-123');
expect(env.CODEMAN_MUX_NAME).toBe('codeman-test');
});
it('should detect claudeman session', () => {
const env = createMuxEnv('session-123', 'claudeman-test');
expect(isClaudemanSession(env)).toBe(true);
it('should detect codeman session', () => {
const env = createMuxEnv('session-123', 'codeman-test');
expect(isCodemanSession(env)).toBe(true);
});
it('should detect non-claudeman session', () => {
const env = { CLAUDEMAN_MUX: '0' };
expect(isClaudemanSession(env)).toBe(false);
it('should detect non-codeman session', () => {
const env = { CODEMAN_MUX: '0' };
expect(isCodemanSession(env)).toBe(false);
});
it('should handle missing environment variable', () => {
const env = {};
expect(isClaudemanSession(env)).toBe(false);
expect(isCodemanSession(env)).toBe(false);
});
});