Skip to content

[workspace-split] Phase 6: Extract core crates (engine, query, tools, lsp-service) #75

Description

@yaohaowei0914

Part of #68. Target branch: V1. Depends on #74.

Scope

With cycles broken, extract the four core crates.

  • cc-enginesrc/engine/ + src/engine/agent/ (15+3 files, ~5,200 LOC)
  • cc-querysrc/query/ (7 files, 2,273 LOC)
  • cc-toolssrc/tools/ minus agent (44 files, ~16,800 LOC) — biggest single crate
  • cc-lsp-servicesrc/lsp_service/ (5 files, 2,419 LOC)

Special considerations

  • cc-tools is the largest crate. If its incremental build is still slow post-extraction, sub-split into:
    • cc-tools-fs (FileRead/Write/Edit/Glob/Grep)
    • cc-tools-exec (Bash)
    • cc-tools-web (WebSearch/WebFetch)
    • cc-tools-misc (everything else)
  • Defer the sub-split unless Phase 7 measurements show it's a bottleneck.

Acceptance

  • Four new crates; all hub modules now live outside root
  • Touching cc-tools/src/tools/file_read.rs rebuilds cc-tools + claude-code-rs only (check with -Zbuild-plan or cargo build -v)
  • Incremental build time recorded

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions