···1-# PLC Bundle V1 Reference Implementation in TypeScript
23-This script ([plcbundle.ts](plcbundle.ts)) is a compact, readable reference implementation for creating [PLC Bundle](https://github.com/atscan/plcbundle) v1 archives. It fetches operations from the PLC directory and generates a complete, verifiable repository of data bundles.
45It is fully compliant with the [PLC Bundle v1 Specification](https://github.com/atscan/plcbundle/blob/main/SPECIFICATION.md).
67## Features
89- **Spec Compliant:** Correctly implements hashing, chaining, serialization, and boundary de-duplication.
10-- **Reproducible:** Generates byte-for-byte identical bundles to the official Go implementation.
11-- **Efficient:** Uses a memory-efficient method to handle duplicates between bundle boundaries.
12- **Standalone:** Single-file script with clear dependencies.
1314-## Usage
000000000001516This script should run well with **[Bun](https://bun.com/) (recommended)**, [Deno](https://deno.com/), or [Node.js](https://nodejs.org/en).
1718The script accepts one optional argument: the path to the output directory where bundles will be stored. If omitted, it defaults to `./plc_bundles`.
1920-### Bun (Recommended)
2122Bun is the fastest and easiest way to run this script, as it handles TypeScript and dependencies automatically.
23···29bun run plcbundle.ts ./my_plc_bundles
30```
3132-### Deno
3334Deno can also run the script directly. You will need to provide permissions for network access and file system I/O.
35···38deno run --allow-net --allow-read --allow-write plcbundle.ts ./my_plc_bundles
39```
4041-### Node.js (with TypeScript)
4243If using Node.js, you must first install dependencies and compile the TypeScript file to JavaScript.
44···53node dist/plcbundle.js ./my_plc_bundles
54```
55000
···1+# PLC Bundle V1 Reference Implementations
23+This set of scripts represents a compact, readable reference implementations for creating [PLC Bundle](https://github.com/atscan/plcbundle) v1 archives. It fetches operations from the PLC directory and generates a complete, verifiable repository of data bundles.
45It is fully compliant with the [PLC Bundle v1 Specification](https://github.com/atscan/plcbundle/blob/main/SPECIFICATION.md).
67## Features
89- **Spec Compliant:** Correctly implements hashing, chaining, serialization, and boundary de-duplication.
10+- **Reproducible:** Generates byte-for-byte identical bundles to the other implementations.
011- **Standalone:** Single-file script with clear dependencies.
1213+## Implementations
14+15+| Language | File |
16+| --- | --- |
17+| [TypeScript](#typescript) | [`typescript/plcbundle.ts`](typescript/plcbundle.ts) |
18+| [Python](#python) | [`python/plcbundle.py`](python/plcbundle.py) |
19+20+## TypeScript
21+22+File: [plcbundle.ts](plcbundle.ts)
23+24+### Usage
2526This script should run well with **[Bun](https://bun.com/) (recommended)**, [Deno](https://deno.com/), or [Node.js](https://nodejs.org/en).
2728The script accepts one optional argument: the path to the output directory where bundles will be stored. If omitted, it defaults to `./plc_bundles`.
2930+#### Bun (Recommended)
3132Bun is the fastest and easiest way to run this script, as it handles TypeScript and dependencies automatically.
33···39bun run plcbundle.ts ./my_plc_bundles
40```
4142+#### Deno
4344Deno can also run the script directly. You will need to provide permissions for network access and file system I/O.
45···48deno run --allow-net --allow-read --allow-write plcbundle.ts ./my_plc_bundles
49```
5051+#### Node.js (with TypeScript)
5253If using Node.js, you must first install dependencies and compile the TypeScript file to JavaScript.
54···63node dist/plcbundle.js ./my_plc_bundles
64```
6566+## Python
67+68+TODO