git clone <repository-url>
cd quarto-review-extension
npm install
npm run dev
Watch mode: npm run dev (auto-rebuild on changes)
Build: npm run build (output to dist/ and _extensions/review/assets/)
Test: npm run test (all tests)
Test watch: npm run test:watch
Coverage: npm run test:coverage
Type check: npm run type-check
Docs: npm run docs (generates API docs)
src/modules/ # Core modules
tests/unit/ # Unit tests
docs/ # Documentation
_extensions/ # Extension files
Recommended extensions: ESLint, Prettier, TypeScript, Vitest
.vscode/settings.json:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"vitest.enable": true
}
Manual test:
npm run build
cd example
quarto preview example.qmd
Browser: F12 → Sources → set breakpoints
VS Code: Add to .vscode/launch.json:
{
"configurations": [{
"type": "node",
"request": "launch",
"name": "Debug Tests",
"program": "${workspaceFolder}/node_modules/vitest/vitest.mjs",
"args": ["run"]
}]
}
git checkout -b feature/your-feature
git commit -m "feat: description"
git push origin feature/your-feature
Commit format: type(scope): description
Types: feat, fix, docs, style, refactor, perf, test, chore
Dependencies fail: rm -rf node_modules package-lock.json && npm install
Port in use: lsof -i :5173 && kill -9 <PID>
Tests fail: npm run test -- --clearCache
See Modules, Architecture, Contributing