EstimateKit
EstimateKit is a project-estimation engine, the tool of the delivery lifecycle’s Scope phase: it turns an engagement brief into the priced artifacts a proposal needs. It reads structured project data (YAML + TSV), runs scheduling and costing logic, and produces a roadmap, Excel workbooks (quote, financial model, BRD), and an executive slide deck. A React workspace, a CLI, and an MCP door for agents drive the same engine through different interfaces.
What it does
Section titled “What it does”From one project folder of input data, EstimateKit generates:
- Roadmap — a timeline and resource plan (TSV), scheduled from phase and activity data.
- Excel — quoter, financial-model, and BRD workbooks (
.xlsx). - Slides — an executive presentation (Slidev Markdown, built to static HTML when the toolchain is present).
An auditor validates each project’s data integrity before generation, and surfaces risk suggestions (e.g. no test lag, milestones all landing in one month) on top of hard errors.
The rules for authoring a project’s data are in the authoring guide, which is the only reference for the data contract. It covers which files a project holds, the columns each one keeps, how streams are named, and what every audit check enforces. The workspace shows it in its Getting Started panel, agents read it with the get_guide MCP tool, and GET /api/guide serves it over HTTP. Its source is templates/guide.yaml.
- Engine (
engine/): a hexagonal FastAPI + CLI backend (domain / application / adapters). The same use cases are exposed over HTTP under/api, as a CLI, and as MCP tools under/mcp(the full tool list is in Components → The MCP door). - Web (
web/): a React + Vite + Tailwind SPA — an IDE-like workspace for editing project files, running audits, and generating outputs. Served as static files by the backend in the built image. - Run paths:
devops/docker-compose.ymlbrings the whole solution up in one container; the native dev path (uvicorn + Vite) is documented in the repositoryREADME.md.
Deployment
Section titled “Deployment”EstimateKit runs on the Cloud Engineering Platform: the CEP pipeline builds the
image, applies the terraform/ root and deploys the k8s/helm chart. On the
install that runs it, the app serves at estimatekit-<env>.<zone> (dev:
estimatekit-dev.non-prod.pt-digital.engineering.vodafone.com). The docs site is
a second deployable at estimatekit-docs-<env>.<zone>.
Access control: pre and prod use Microsoft Entra ID (authorization-code + PKCE); fail-closed HTTP Basic narrows to the
/mcpmachine door. Dev runs the Basic gate temporarily, until its Entra app registration exists. An incomplete Entra configuration answers 503, never open. See Components → Access control.