OCPP DebugKit — Open-source DevTools for debugging OCPP charging sessions.
This roadmap tracks the milestone-based development of OCPP DebugKit. Each milestone maps to a semantic version release.
Status: ✅ Complete (merged via PR #12–#15)
Professional monorepo skeleton with CI, linting, testing, release tooling, GitHub metadata, and agent onboarding docs — before any feature code lands.
- pnpm monorepo + workspace
- TypeScript strict config
- ESLint + Prettier + EditorConfig
- Vitest + example test
- Turborepo pipeline
- GitHub Actions CI
- Changesets release workflow
- GitHub labels, milestones, PR/issue templates
- README, CONTRIBUTING, CODE_OF_CONDUCT, ROADMAP, AGENTS.md, CURRENT_STATE.md
Exit criteria: pnpm install / pnpm test / pnpm lint / pnpm build
all work. CI green on main. No release yet — infrastructure only.
Status: ✅ Complete (merged via PR #19)
Resolve all foundational design decisions before core implementation. Produce ADRs and synthetic fixtures that validate the internal model.
- OCPP version scope (1.6 JSON primary, extensible to 2.0.1)
- Input trace formats (JSON, JSONL)
- Canonical internal event model
- Message direction and timestamp normalization
- Station, connector, transaction correlation
- Malformed/incomplete trace handling
- Browser-local processing and privacy
- ADRs for each major decision
- 3+ synthetic trace fixtures
Exit criteria: ADRs written, trace format spec documented, fixtures validate against proposed model. Maintainer approves design.
Status: ✅ Released — GitHub release release-v0.1.0, packages published
to npm at 0.1.1 (@ocpp-debugkit/core, scenarios, reporter, cli).
Web app deployed at ocppdebugkit.com.
A user visits ocppdebugkit.com, loads a trace, sees a timeline, sees detected failures, and exports a report — without installing anything. Developers can also use the CLI locally.
- Core: Trace parser, event normalizer, session timeline, failure detection (3 rules), summarizer, validator, package config
- Scenarios: 5 initial scenarios with expected failures
- Reporter: Markdown report generator
- CLI: inspect, report, scenario list/run commands
- App: Single Next.js app (landing, inspector, docs)
- Tests: Playwright smoke tests
- Docs: Quickstart, glossary, architecture, CLI reference, scenarios
Exit criteria: Hosted demo, CLI on npm, trace→timeline→failures→report
workflow, 5 scenarios, 3 failure rules, GitHub release release-v0.1.0. ✅ All
met.
Status: ✅ Complete — published as @ocpp-debugkit/toolkit@0.2.1 on npm,
Git tag v0.2.1, GitHub release v0.2.1. Old v0.1.1 packages deprecated.
Web app deployed at ocppdebugkit.com.
Consolidated four npm packages into @ocpp-debugkit/toolkit with subpath
exports. Added offline scenario evaluation, replay, expanded detection, HTML
reports, and reusable React components.
- Packaging: Single
@ocpp-debugkit/toolkitpackage with subpath exports - Detection: 10 failure rules (3 v0.1 + 7 new)
- Scenarios: 10 total scenarios + CLI external scenario files
- Replay: Replay engine with step/play/pause/jump
- Reports: Markdown + HTML report formats
- React: Extracted reusable components (SessionTimeline, MessageInspector, etc.)
- App: Replay UI, report viewer, three-tab inspector (Inspect/Replay/Report)
Exit criteria: @ocpp-debugkit/toolkit@0.2.1 published, Git tag v0.2.1,
old packages deprecated.
Status: ✅ Complete — published as @ocpp-debugkit/toolkit@0.3.0 on npm,
Git tag v0.3.0, GitHub release v0.3.0. Milestone closed.
Connect to real ecosystem workflows. Attract external engagement.
- v0.3 failure detection rules
- Trace diffing
- Rich scenario assertions
- CLI: CI mode, anonymize, diff commands
- Integration examples (simple-trace, simple-csms, simulator-output, etc.)
- Contribution guide + good-first-issues
Exit criteria: GitHub release v0.3.0. ✅ All met.
Status: Next up
Interoperate with the Open OCPP Trace format, the vendor-neutral interchange format for OCPP traces, so DebugKit reads traces other tools produce and emits traces they can consume.
- Parse Open OCPP Trace v1.1 input (#121)
- Export traces to Open OCPP Trace v1.1, with a
convertCLI command (#122) - Conformance against the shared fixtures
Exit criteria: GitHub release v0.4.0.
Status: Planned
Extend the analysis engine beyond OCPP 1.6J to OCPP 2.0.1.
- 2.0.1 message set and device model
- 2.0.1 scenarios and fixtures
- Detection rules adapted for 2.0.1
Exit criteria: GitHub release v0.5.0.
Status: Planned
Mature APIs, stable formats, contributor-ready.
- API stabilization
- 20+ scenarios
- Docs overhaul (tutorials, deep-dives)
- Release workflow hardening
- Contributor onboarding
Exit criteria: GitHub release release-v1.0.0.
Explicitly out of scope for v1.0 but may be revisited:
- Active scenario runner — connects to live charging stations or CSMS endpoints via WebSocket. Requires transport, timing, state management, and protocol interaction design.
- Playground (
/playground) — interactive OCPP message composer/sandbox. - YAML trace format support — JSON first, YAML later if useful.