Thanks for helping improve SpecDock.
SpecDock is a local-first API contract workspace. Keep changes aligned with the core flow:
Import -> Explore -> Test -> Generate- Check existing issues and pull requests to avoid duplicate work.
- Open an issue first for large UX, architecture, storage, proxy, or generator changes.
- Keep public demo behavior safe: no unrestricted public proxying.
Prerequisites:
Node.js >=20.19.0 <21 or >=22.13.0
npmInstall and run:
nvm use
npm install
npm run devOpen:
http://127.0.0.1:5174Use npm only. Do not use pnpm or yarn in this repository.
Run the same checks as GitHub CI before opening a pull request:
nvm use
npm run lint
npm run typecheck
npm run test
npm run test:sdk-smoke
npm run buildIf a check is not relevant or cannot run locally, explain why in the pull request.
SpecDock can handle API contracts, request data, and auth profile metadata. Treat OpenAPI specs, cURL input, URLs, localStorage values, and network responses as untrusted input.
Do not log or persist secrets such as:
- Authorization headers
- Cookie headers
- API keys or tokens
- request bodies or response bodies
Proxy mode must remain disabled by default, explicitly enabled with
PROXY_ENABLED=true, and protected by allowed hosts, SSRF checks, timeouts, and
size limits.
Report security issues using the instructions in docs/SECURITY.md.
- Keep changes focused and scoped to one problem.
- Include tests or explain why the change does not need tests.
- Update documentation when behavior, setup, deployment, or security posture changes.
- Avoid committing generated build output, local credentials, or local-only files.
User-visible changes should be reflected in release notes under
docs/release-notes/ when preparing a release.