Skip to content

Latest commit

 

History

History
76 lines (56 loc) · 2.23 KB

File metadata and controls

76 lines (56 loc) · 2.23 KB

Contributing to the OCPP DebugKit website

Thanks for your interest in improving the site. This repository holds the marketing pages, documentation, and the in-browser inspector for the OCPP DebugKit ecosystem.

Getting started

Requires Node.js 20+ and pnpm 10+.

pnpm install
pnpm dev        # http://localhost:3000

Before opening a PR, make sure the full check suite passes:

pnpm build
pnpm typecheck
pnpm lint
pnpm test:e2e

Workflow

  1. Open an issue describing the change, or comment on an existing one.
  2. Branch from main using the naming convention below.
  3. Make the change with tests where behavior changes.
  4. Open a PR linking the issue (Closes #N). CI must be green.
  5. A maintainer reviews and squash-merges.

Branch naming

feat/<description>     # a new page, section, or capability
fix/<description>      # a bug fix
docs/<description>     # documentation-only changes
chore/<description>    # tooling, config, dependencies

Commit messages

This project uses Conventional Commits:

feat: add Studio download page
fix: correct broken docs nav link
docs: refresh the quickstart for v0.3
chore: bump next to 16.2.10

Conventions

  • One concern per PR. Ship the change, its tests, and any doc updates together.
  • Tests ship with behavior. Add or update a Playwright spec when you change what a page does.
  • Living docs. Update CURRENT_STATE.md (and AGENTS.md if structure or commands change) inside the same PR — never after merge.
  • TypeScript strict. No any without justification. Use import type for type-only imports.

The inspector processes untrusted input

The /inspector route parses trace files and pasted content — untrusted input. When touching it, preserve these guarantees:

  • All parsing and analysis stays browser-local. Never add server-side upload of trace content.
  • Keep the size and event-count limits enforced by @ocpp-debugkit/toolkit.
  • No dangerouslySetInnerHTML or unsafe injection of user-supplied content.

Reporting security issues

Please do not open public issues for vulnerabilities. See SECURITY.md.