Skip to content

refactor: split thulp-cli into modules + maintenance#13

Merged
bkataru merged 4 commits into
masterfrom
session-mar27
Mar 27, 2026
Merged

refactor: split thulp-cli into modules + maintenance#13
bkataru merged 4 commits into
masterfrom
session-mar27

Conversation

@bkataru

@bkataru bkataru commented Mar 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Refactored thulp-cli main.rs from 1849→385 lines
  • Split into 7 modules: output, config, skill, tools, convert, mcp, mod
  • Clippy fixes, stripped vanity metrics, updated ROADMAP
  • 32 tests pass (26 unit + 6 integration)

Test plan

  • cargo test -p thulp-cli — 32 pass
  • cargo build -p thulp-cli — clean
  • thulp --help — all commands listed
  • All CLI tests pass with modular structure

🤖 Generated with Claude Code

bkataru and others added 4 commits March 23, 2026 01:47
- Refactor handle_skill_run() 8 params into SkillRunOpts struct (clippy)
- Replace manual string slicing with strip_prefix() (clippy)
- Remove test/crate count badges from README and SSG landing page
- Update ROADMAP Phase 4 checkboxes to reflect implemented features

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pure structural refactor — zero logic changes:
- src/output.rs: OutputFormat enum + Output helper (47 LOC)
- src/commands/config.rs: ConfigCommands + handle_init + handle_config (308 LOC)
- src/commands/skill.rs: SkillCommands + all skill handlers (470 LOC)
- src/commands/tools.rs: ToolCommands + handle_run + demo + validate (364 LOC)
- src/commands/convert.rs: ConvertCommands + OpenAPI conversion (181 LOC)
- src/commands/mcp.rs: McpCommands + MCP handlers (134 LOC, feature-gated)
- src/main.rs: Cli/Commands enum + dispatch + tests (385 LOC)

32 tests pass (26 unit + 6 integration).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bkataru bkataru merged commit 96b36bd into master Mar 27, 2026
8 of 10 checks passed
@bkataru bkataru deleted the session-mar27 branch April 10, 2026 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant