Target model
Basecamp first tries to infer external tools from the existing project. If a requirement cannot be expressed by native project files, a thin Basecamp project configuration can declare it explicitly. The lifecycle remains:
basecamp update basecamp sync basecamp shell
Planned tools
| Tool | Typical signal | Status |
|---|---|---|
| protoc | prost-build / tonic-build | Planned |
| clang | bindgen / native builds | Planned |
| cmake / ninja | native build scripts | Planned |
| ffmpeg | explicit project requirement | Planned |
| chromium | browser automation | Planned |
| language servers | editor / agent environment | Planned |
No second package manager
Basecamp is not intended to grow an add/remove/search command surface. Tools become environment inputs and are synchronized through the same lock lifecycle as runtimes and packages.