Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ build/
coverage/
pnpm-lock.yaml
*.md
apps/web/next-env.d.ts
34 changes: 20 additions & 14 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,14 @@ infrastructure developers.
```
ocpp-debugkit/
├── packages/
│ ├── core/ # Data model, parser, normalizer, timeline, failure detection
│ ├── scenarios/ # Predefined trace scenarios for testing
│ ├── reporter/ # Report generators (Markdown, HTML)
│ ├── cli/ # Command-line interface
│ ├── replay/ # Replay engine (v0.2+)
│ └── react/ # Reusable React components (v0.2+)
│ └── toolkit/ # Single npm package @ocpp-debugkit/toolkit
│ └── src/
│ ├── core/ # Data model, parser, normalizer, timeline, failure detection
│ ├── scenarios/ # Predefined trace scenarios for testing
│ ├── reporter/ # Report generators (Markdown, HTML)
│ ├── replay/ # Replay engine
│ ├── react/ # Reusable React components
│ └── cli/ # Command-line interface (bin: ocpp-debugkit)
├── apps/
│ └── web/ # Single Next.js app (landing, inspector, docs, blog)
├── turbo.json # Turborepo task pipeline
Expand All @@ -52,16 +54,20 @@ pnpm changeset # Add a changeset for release
## Package Dependency Graph

```
core ← everything depends on this
/ | \
scenarios | reporter | replay
\ | / |
cli |
| |
apps/web (single Next.js app)
@ocpp-debugkit/toolkit (single package, subpath exports)
src/
core ← internal modules depend on this
scenarios ← depends on core (internal)
reporter ← depends on core (internal)
replay ← depends on core (internal)
react ← depends on core, scenarios, reporter, replay (internal)
cli ← depends on core, scenarios, reporter (internal; Node-only)

apps/web (single Next.js app)
imports: @ocpp-debugkit/toolkit/core, /scenarios, /reporter, /react, /replay
```

**Build order:** core → scenarios/reporter/replay → cli → app
**Build order:** toolkit (all internal modules in one tsc pass) → app

## Testing Conventions

Expand Down
35 changes: 23 additions & 12 deletions CURRENT_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@

## Current Version

`0.1.0` — Inspector MVP (released)
`0.2.0` — Packaging Consolidation + Scenario Evaluator & Replay (in progress)

## Active Milestone

**v0.1.0 — Inspector MVP (complete)**
**v0.2.0 — Packaging Consolidation + Scenario Evaluator & Replay (in progress)**

All v0.1.0 issues complete. Packages published to npm. Web app deployed.
Phase 0: Packaging consolidation — creating `@ocpp-debugkit/toolkit` single package with subpath exports.

## What's Done

Expand Down Expand Up @@ -156,11 +156,23 @@ All v0.1.0 issues complete. Packages published to npm. Web app deployed.
- ✅ `/docs` index with navigation sidebar
- ✅ `/docs/quickstart`, `/docs/glossary`, `/docs/architecture`, `/docs/trace-format`, `/docs/cli`, `/docs/scenarios`

### Packaging Consolidation (v0.2.0 Phase 0 — in progress)

- 🔄 `packages/toolkit/` — single `@ocpp-debugkit/toolkit` package created
- 🔄 Core, scenarios, reporter, CLI code moved into `src/core/`, `src/scenarios/`, `src/reporter/`, `src/cli/`
- 🔄 `src/replay/` and `src/react/` stub modules added
- 🔄 Subpath exports configured (`/core`, `/scenarios`, `/reporter`, `/replay`, `/react`, `/cli`, `/fixtures`)
- 🔄 CLI binary `ocpp-debugkit` via `package.json#bin`
- 🔄 Old package directories removed
- 🔄 Web app updated to consume `@ocpp-debugkit/toolkit`
- 🔄 All 196 existing tests pass from new locations
- 🔄 Build, lint, typecheck, format all green

## What's Next

1. **v0.2.0** — Scenario evaluator & replay (expanded failure rules, replay
engine, `@ocpp-debugkit/react`, CLI external scenario files, HTML report
format, app replay UI)
1. **v0.2.0 remaining** — External fixture test, migration docs, release workflow
simplification, expanded failure detection (7 new rules), 10 scenarios, replay
engine, React components, HTML reports, app replay UI
2. **v0.3.0** — Integrations & OSS credibility (trace diffing, CI mode,
anonymize, integration examples)
3. **v1.0.0** — API stabilization, 20+ scenarios, docs overhaul, contributor
Expand All @@ -174,10 +186,9 @@ All v0.1.0 issues complete. Packages published to npm. Web app deployed.

| Package | Status | Version |
|---------|--------|---------|
| `@ocpp-debugkit/core` | published | 0.1.1 |
| `@ocpp-debugkit/scenarios` | published | 0.1.1 |
| `@ocpp-debugkit/reporter` | published | 0.1.1 |
| `@ocpp-debugkit/cli` | published | 0.1.1 |
| `@ocpp-debugkit/replay` | not started | — |
| `@ocpp-debugkit/react` | not started | — |
| `@ocpp-debugkit/toolkit` | in progress | 0.2.0 |
| `@ocpp-debugkit/core` | published (deprecated after v0.2.0) | 0.1.1 |
| `@ocpp-debugkit/scenarios` | published (deprecated after v0.2.0) | 0.1.1 |
| `@ocpp-debugkit/reporter` | published (deprecated after v0.2.0) | 0.1.1 |
| `@ocpp-debugkit/cli` | published (deprecated after v0.2.0) | 0.1.1 |
| `apps/web` | deployed | — |
4 changes: 1 addition & 3 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
"test:e2e": "playwright test"
},
"dependencies": {
"@ocpp-debugkit/core": "workspace:*",
"@ocpp-debugkit/reporter": "workspace:*",
"@ocpp-debugkit/scenarios": "workspace:*",
"@ocpp-debugkit/toolkit": "workspace:*",
"next": "16.2.10",
"react": "19.2.4",
"react-dom": "19.2.4"
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/app/docs/cli/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default function CliReferencePage() {

<h2>Installation</h2>
<pre>
<code>{`npm install -g @ocpp-debugkit/cli`}</code>
<code>{`npm install -g @ocpp-debugkit/toolkit`}</code>
</pre>

<h2>inspect</h2>
Expand Down
4 changes: 2 additions & 2 deletions apps/web/src/app/docs/quickstart/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default function QuickStartPage() {

<h2>Install the CLI</h2>
<pre>
<code>{`npm install -g @ocpp-debugkit/cli`}</code>
<code>{`npm install -g @ocpp-debugkit/toolkit`}</code>
</pre>

<h2>Inspect a trace</h2>
Expand Down Expand Up @@ -40,7 +40,7 @@ ocpp-debugkit scenario run failed-auth`}</code>
<h2>Use the core library</h2>
<p>For programmatic use in your own TypeScript/JavaScript project:</p>
<pre>
<code>{`import { parseTrace, buildSessionTimeline, detectFailures } from '@ocpp-debugkit/core';
<code>{`import { parseTrace, buildSessionTimeline, detectFailures } from '@ocpp-debugkit/toolkit/core';

const result = parseTrace(traceString);
const sessions = buildSessionTimeline(result.events);
Expand Down
6 changes: 3 additions & 3 deletions apps/web/src/app/inspector/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import {
type Scenario,
ParseError,
MAX_INPUT_SIZE_BYTES,
} from '@ocpp-debugkit/core';
import { generateMarkdownReport } from '@ocpp-debugkit/reporter';
import { scenarios } from '@ocpp-debugkit/scenarios';
} from '@ocpp-debugkit/toolkit/core';
import { generateMarkdownReport } from '@ocpp-debugkit/toolkit/reporter';
import { scenarios } from '@ocpp-debugkit/toolkit/scenarios';

// ---------------------------------------------------------------------------
// Types
Expand Down
12 changes: 6 additions & 6 deletions apps/web/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ export default function HomePage() {
Architecture
</h2>
<p className="mx-auto mt-4 max-w-2xl text-center text-neutral-600 dark:text-neutral-400">
A modular monorepo with independent packages. Use only what you need.
A single package with modular subpath exports. Use only what you need.
</p>
<div className="mt-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-4">
<PackageCard name="@ocpp-debugkit/core" desc="Parser, normalizer, timeline, detection" />
<PackageCard name="@ocpp-debugkit/scenarios" desc="5 predefined test scenarios" />
<PackageCard name="@ocpp-debugkit/reporter" desc="Markdown report generator" />
<PackageCard name="@ocpp-debugkit/cli" desc="Command-line interface" />
<PackageCard name="/core" desc="Parser, normalizer, timeline, detection" />
<PackageCard name="/scenarios" desc="Predefined test scenarios" />
<PackageCard name="/reporter" desc="Markdown + HTML report generator" />
<PackageCard name="/replay" desc="Replay engine" />
</div>
</section>

Expand All @@ -91,7 +91,7 @@ export default function HomePage() {
<div className="mt-8 rounded-lg bg-neutral-900 p-6 dark:bg-neutral-900">
<pre className="overflow-x-auto text-sm text-neutral-100">
<code>{`# Install the CLI
npm install -g @ocpp-debugkit/cli
npm install -g @ocpp-debugkit/toolkit

# Inspect a trace
ocpp-debugkit inspect trace.json
Expand Down
38 changes: 0 additions & 38 deletions packages/cli/CHANGELOG.md

This file was deleted.

69 changes: 0 additions & 69 deletions packages/cli/README.md

This file was deleted.

54 changes: 0 additions & 54 deletions packages/cli/package.json

This file was deleted.

9 changes: 0 additions & 9 deletions packages/cli/tsconfig.json

This file was deleted.

Loading
Loading