Skip to main content

Baseline Test Matrix

pnpm check
pnpm test:unit
pnpm test:integration
pnpm docs:check
pnpm openclaw:check
Add as required:
pnpm test:e2e
pnpm audit --audit-level=high
Report current command output instead of copying stale test counts.

drdj.me Shortener Validation

Run these checks when changing the standalone shortener API, skill, MCP server, agent prompt, dashboard links page, or public discovery files:
pnpm check
pnpm exec vitest run tests/unit/short-links.test.ts tests/unit/shortener-prompt.test.ts tests/unit/agent-readiness.test.ts
pnpm exec vitest run tests/integration/shortener-v1.test.ts tests/integration/drdj-shortener-mcp.test.ts
pnpm docs:check
pnpm openclaw:check
The MCP integration test starts /plugins/drdj-shortener/scripts/server.ts through the official MCP stdio client and calls a local mock API. It verifies tool listing, shorten_link, stored-token stats, headers, and request body shape without touching production data. After deploy, probe:
curl https://drdj.me/.well-known/agent-skills/index.json
curl https://drdj.me/.well-known/agent-skills/drdj-shortener/SKILL.md
curl https://drdj.me/.well-known/mcp/drdj-shortener/server-card.json
curl https://drdj.me/openapi.json
Playwright starts the local app with DISABLE_BACKGROUND_JOBS=true so browser tests do not run Sheets sync queues, two-way Sheets imports, reminder checks, or recurring task checks against shared credentials. If another local tool is already bound to port 3000, run focused browser checks with PLAYWRIGHT_PORT=<free-port>. The Playwright config passes that port to Vite through VITE_DEV_PORT and updates the browser baseURL for the run.

Extension Release Environment

LinkShot production builds that need Supabase token refresh must be built with these Vite environment variables available:
  • VITE_LINKSHOT_SUPABASE_URL
  • VITE_LINKSHOT_SUPABASE_ANON_KEY
These are public client configuration values, but they must still come from the release environment rather than tracked source so scanners do not flag JWT-shaped values and old builds do not accidentally ship stale project config. Do not paste real values into docs, logs, or chat. Before packaging LinkShot, confirm the variables are present in the release shell or GitHub/extension release pipeline by checking names only.

Release Checklist

  1. pull latest main
  2. run full validation for touched scope
  3. verify docs updates are included
  4. verify no secrets/config leakage
  5. verify required migrations are applied before enabling new production routes
  6. verify extension release env names are present before packaging LinkShot
  7. verify rollback path is documented

Noise Debt

Non-failing warnings (for example React act(...) warnings) should be reduced over time to keep CI signal clean for agent-driven execution.