protoML

By OpenDucks IT

GitHub

protoML - A semantic markup for protocols

protoML is a lightweight, declarative markup language for meeting minutes, notes and task lists. It keeps documentation easy to write for humans while staying parseable enough for structured exports and repeatable workflows.

Why protoML?

ReadableText stays understandable without specialized tooling.
StructuredParser output can support exports and repeatable workflows.
PortablePlain files are easy to store, review and version.

Syntax Example

@tags_import "tags.pml"
@macro decisionBox "decision-box.pml"

@date:21.05.2025
@participants // or @ptp
=pt1:John Doe,jdoe,jdoe@example.com
=pt2:Jane Doe

@subjects
=0:Project Status: TimeTrack
=1:Security: TLS Check

@tasks
-[ ] Renew SSL certificate @ptp=pt1 =1 @tag=important

@notes
- HTML export works -b very well -b-

@meeting
# Agenda: @@e=0
@@e=pt1, @@e=pt2
@@macro=decisionBox:title=Next step;text=@@e=1

Getting Started

Install the parser with Node.js 18 or newer. Use protoparser to convert .pml files, or protoviewer to open them in the bundled viewer.

npm install -g protoml-parser
protoparser -vv -output=meeting-summary protocol.pml html
protoviewer protocol.pml default

CLI Options

Output Formats

Project Info

Find the parser on GitHub or install it from npm as protoml-parser. For integrations into existing systems, Electron apps or documentation pipelines, contact us.

What protoML is not

Designed by OpenDucks IT

protoML is part of our mission to build human-friendly tools for documentation, governance and transparency - useful for NGOs, education, public-sector workflows and open-source teams.