chore: version packages

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-06-10 17:16:13 +02:00
co-authored by Claude Fable 5
parent c1458d8ab8
commit fad32eeaab
7 changed files with 122 additions and 468 deletions
+33 -24
View File
@@ -51,7 +51,7 @@ describe('generateClaudeMd', () => {
const today = new Date().toISOString().split('T')[0];
const result = generateClaudeMd('my-project');
expect(result).toContain(`**Last Updated**: ${today}`);
expect(result).toContain(`Generated by Codeman on ${today}`);
});
it('should include Codeman environment section', () => {
@@ -61,55 +61,61 @@ describe('generateClaudeMd', () => {
expect(result).toContain('CODEMAN_MUX=1');
});
it('should include work principles', () => {
it('should include workflow rules', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('## Work Principles');
expect(result).toContain('### Autonomy');
expect(result).toContain('### Git Discipline');
expect(result).toContain('## Workflow');
expect(result).toContain('conventional commits');
});
it('should include TodoWrite guidance', () => {
it('should include Ralph Loop section with slash commands', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('### Task Tracking (TodoWrite)');
expect(result).toContain('**ALWAYS use TodoWrite**');
});
it('should include Ralph Wiggum Loop section', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('## Ralph Wiggum Loop');
expect(result).toContain('## Ralph Loop');
expect(result).toContain('/ralph-loop:ralph-loop');
expect(result).toContain('/ralph-loop:cancel-ralph');
});
it('should include planning mode section', () => {
it('should include the RALPH_STATUS contract parsed by ralph-status-parser', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('## Planning Mode');
expect(result).toContain('Multi-file changes');
expect(result).toContain('---RALPH_STATUS---');
expect(result).toContain('---END_RALPH_STATUS---');
expect(result).toContain('STATUS: IN_PROGRESS | COMPLETE | BLOCKED');
expect(result).toContain('EXIT_SIGNAL: false | true');
expect(result).toContain('completion phrase');
});
it('should include session log table', () => {
it('should stay under the 200-line CLAUDE.md guidance', () => {
const result = generateClaudeMd('my-project');
expect(result).toContain('## Session Log');
expect(result).toContain('| Date | Tasks Completed | Files Changed | Notes |');
expect(result.split('\n').length).toBeLessThan(200);
});
it('should not include legacy bloat sections', () => {
const result = generateClaudeMd('my-project');
expect(result).not.toContain('## Session Log');
expect(result).not.toContain('TodoWrite');
expect(result).not.toContain('## Planning Mode');
expect(result).not.toContain('[TECHNOLOGIES_USED]');
});
});
describe('custom template', () => {
it('should use custom template when provided and exists', () => {
const templatePath = join(testDir, 'custom-template.md');
writeFileSync(templatePath, `
writeFileSync(
templatePath,
`
# [PROJECT_NAME]
Description: [PROJECT_DESCRIPTION]
Date: [DATE]
Custom content here.
`);
`
);
const result = generateClaudeMd('my-project', 'Test desc', templatePath);
@@ -120,11 +126,14 @@ Custom content here.
it('should replace all placeholder occurrences', () => {
const templatePath = join(testDir, 'multi-placeholder.md');
writeFileSync(templatePath, `
writeFileSync(
templatePath,
`
[PROJECT_NAME] is a project.
The name is [PROJECT_NAME].
About [PROJECT_NAME]: [PROJECT_DESCRIPTION]
`);
`
);
const result = generateClaudeMd('awesome-app', 'Cool stuff', templatePath);