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.
@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
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
-v, -vv, -vvv - info, debug and trace output.-output=NAME - write to a custom output filename.-strict - fail on missing references.-theme=name - select an export theme.-config=PATH - use an external render/export config.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.
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.