Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .beads/issues.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@
{"id":"t2p-wln","title":"CLI integration","description":"Implement src/index.ts with Commander setup, wire up init and work commands, add CLI options (--model, --verbose), test global installation (npm link). Verify shebang works correctly.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-30T13:26:34.40176-05:00","updated_at":"2025-11-30T13:59:36.034896-05:00","closed_at":"2025-11-30T13:59:36.034896-05:00","dependencies":[{"issue_id":"t2p-wln","depends_on_id":"t2p-prg","type":"blocks","created_at":"2025-11-30T13:26:34.402376-05:00","created_by":"daemon","metadata":"{}"},{"issue_id":"t2p-wln","depends_on_id":"t2p-68n","type":"blocks","created_at":"2025-11-30T13:26:34.403063-05:00","created_by":"daemon","metadata":"{}"}]}
{"id":"t2p-wzt","title":"Refactor init.ts so that the embedded prompts are pulled from individual .md files in the source code","description":"Currently init.ts has large string constants (STYLE_TEMPLATE, WORK_TEMPLATE, SYSTEM_TEMPLATE, ANALYSIS_TEMPLATE) embedded in the code. Refactor to load these from individual .md files in the source code (e.g., src/templates/style.md).\n\nBenefits:\n- Easier to maintain and edit templates\n- Better separation of content from code\n- Cleaner TypeScript files\n- Templates can be reviewed/edited without reading TS code\n\nImplementation:\n- Create src/templates/ directory\n- Move each template constant to a .md file\n- Update init.ts to read from these files using readFileSync\n- Ensure templates are included in npm package distribution","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-30T14:48:00.459557-05:00","updated_at":"2025-11-30T14:52:49.196814-05:00","closed_at":"2025-11-30T14:52:49.196814-05:00"}
{"id":"t2p-x3h","title":"ship blog-from-x: Generate blog posts from successful X posts","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-24T10:06:25.728784-05:00","updated_at":"2025-12-24T10:12:35.814251-05:00","closed_at":"2025-12-24T10:12:35.814251-05:00","dependencies":[{"issue_id":"t2p-x3h","depends_on_id":"t2p-bb2","type":"blocks","created_at":"2025-12-24T10:07:19.949131-05:00","created_by":"ryw","metadata":"{}"},{"issue_id":"t2p-x3h","depends_on_id":"t2p-g06","type":"blocks","created_at":"2025-12-24T10:07:25.105074-05:00","created_by":"ryw","metadata":"{}"},{"issue_id":"t2p-x3h","depends_on_id":"t2p-4db","type":"blocks","created_at":"2025-12-24T10:07:30.294792-05:00","created_by":"ryw","metadata":"{}"},{"issue_id":"t2p-x3h","depends_on_id":"t2p-k7d","type":"blocks","created_at":"2025-12-24T10:07:35.583141-05:00","created_by":"ryw","metadata":"{}"}]}
{"id":"t2p-model1","title":"Update default Anthropic model from claude-3-5-sonnet to claude-sonnet-4-5","description":"The default Anthropic model in config.ts and anthropic.ts is 'claude-3-5-sonnet-20241022' which is outdated. Update to 'claude-sonnet-4-5-20250514' which is the recommended model per the README.\n\nFiles affected:\n- src/types/config.ts:51\n- src/services/anthropic.ts:109\n- ANTHROPIC_SETUP.md\n\nThis ensures new users get the best available model by default.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-03-21T09:10:00Z","updated_at":"2026-03-21T09:10:00Z","closed_at":"2026-03-21T09:10:00Z"}
{"id":"t2p-scan1","title":"Add ESLint and Prettier configuration for code quality","description":"The project lacks lint/format tooling. Add:\n- ESLint with TypeScript support\n- Prettier for consistent formatting\n- Add npm scripts: lint, format\n- Consider adding pre-commit hooks\n\nThis will help catch bugs early and maintain consistent code style.","status":"open","priority":3,"issue_type":"task","created_at":"2026-03-21T09:10:00Z","updated_at":"2026-03-21T09:10:00Z"}
{"id":"t2p-scan2","title":"Replace direct console.log with logger in granola-sync.ts","description":"The granola-sync.ts command uses console.log directly in several places instead of using the logger utility like other commands.\n\nAffected lines:\n- src/commands/granola-sync.ts:243 - console.log(style.green('✓ saved'))\n- src/commands/granola-sync.ts:246 - console.log(style.dim('no transcript'))\n- src/commands/granola-sync.ts:256 - console.log(style.red(...))\n\nThis creates inconsistent output formatting and breaks the ability to control log levels.","status":"open","priority":3,"issue_type":"task","created_at":"2026-03-21T09:10:00Z","updated_at":"2026-03-21T09:10:00Z"}
18 changes: 7 additions & 11 deletions ANTHROPIC_SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Edit your `.shiprc.json` file and change the provider to `anthropic`:
"provider": "anthropic"
},
"anthropic": {
"model": "claude-3-5-sonnet-20241022",
"model": "claude-sonnet-4-5-20250514",
"maxTokens": 4096
}
}
Expand All @@ -45,10 +45,9 @@ export ANTHROPIC_API_KEY=sk-ant-api03-your-key-here

## Available Models

- `claude-3-5-sonnet-20241022` (default) - Best balance of intelligence, speed, and cost
- `claude-3-opus-20240229` - Most capable model, best for complex tasks
- `claude-3-sonnet-20240229` - Good balance for most tasks
- `claude-3-haiku-20240307` - Fastest and most cost-effective
- `claude-sonnet-4-5-20250514` (default) - Best balance of intelligence, speed, and cost
- `claude-opus-4-5-20250514` - Most capable model, best for complex tasks
- `claude-haiku-4-5-20251001` - Fastest and most cost-effective

## Usage

Expand All @@ -59,7 +58,7 @@ Once configured, use ship normally:
ship work

# Override model
ship work --model claude-3-opus-20240229
ship work --model claude-opus-4-5-20250514

# Check available strategies
ship work --list-strategies
Expand All @@ -75,7 +74,7 @@ In `.shiprc.json`:
"provider": "anthropic"
},
"anthropic": {
"model": "claude-3-5-sonnet-20241022",
"model": "claude-sonnet-4-5-20250514",
"maxTokens": 4096
},
"generation": {
Expand Down Expand Up @@ -120,7 +119,4 @@ Check:

Anthropic charges per token. Monitor your usage at https://console.anthropic.com/

Approximate costs (as of 2024):
- Claude 3.5 Sonnet: $3/$15 per million tokens (input/output)
- Claude 3 Opus: $15/$75 per million tokens
- Claude 3 Haiku: $0.25/$1.25 per million tokens
See https://www.anthropic.com/pricing for current pricing.
2 changes: 1 addition & 1 deletion src/services/anthropic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export class AnthropicService implements LLMService {
}

getModelName(): string {
return this.config.anthropic?.model || 'claude-3-5-sonnet-20241022';
return this.config.anthropic?.model || 'claude-sonnet-4-5-20250514';
}

getTemperature(): number {
Expand Down
2 changes: 1 addition & 1 deletion src/types/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export const DEFAULT_CONFIG: T2pConfig = {
timeout: 60000,
},
anthropic: {
model: 'claude-3-5-sonnet-20241022',
model: 'claude-sonnet-4-5-20250514',
maxTokens: 4096,
},
generation: {
Expand Down