Local Development
Running the DMTR extension in a local development environment.
Local development workflow
1. Start the DMTR API
From the monorepo root:
pnpm devOr from the API package directly:
cd packages/api && pnpm devThe API starts at http://localhost:3100 with Patient Zero positions and Blackmoat intelligence data seeded automatically.
2. Build the extension
cd packages/extension && pnpm devThis runs Vite in watch mode, rebuilding on file changes.
3. Load in Chrome
- Open
chrome://extensions/ - Enable Developer mode
- Load unpacked → select
packages/extension/dist/ - After each rebuild, click the reload icon on the extension card
4. Test entity extraction
Navigate to a PitchBook company page. The extension content script will run, extract the company name, and send it to the side panel. Click the DMTR icon to open the side panel and see the enrichment.
For testing without PitchBook access, you can call the intelligence API directly:
curl http://localhost:3100/v1/intelligence/enrich/saronic | jq .
curl -X POST http://localhost:3100/v1/intelligence/resolve \
-H "Content-Type: application/json" \
-d '{"name": "Anduril Industries"}'5. Custom API URL
By default the extension connects to http://localhost:3100. To point at a different host (e.g. a staging server), set the DMTR_API_URL environment variable before building:
DMTR_API_URL=https://api.staging.dmtr.dev pnpm buildVite injects this value at compile time via the __DMTR_API_URL__ define. At runtime, the value can still be overridden per-session via chrome.storage.local (key: dmtr_api_url).
6. Reset data
curl -X POST http://localhost:3100/v1/resetThis clears and re-seeds all Patient Zero and intelligence data.