Quick Start¶
List Built-in Examples¶
Output:
Available examples:
a2a_agent_delegation
mcp_tool_invocation
oauth2_authorization_code
oauth2_pkce
oidc_authentication
Generate Diagrams¶
PlantUML¶
Mermaid¶
D2¶
# Sequence diagram
pidl generate -f d2 oauth2_pkce
# Data flow diagram
pidl generate -f d2-flow oauth2_pkce
# Architecture diagram
pidl generate -f d2-arch oauth2_pkce
Graphviz DOT¶
Create a New Protocol¶
From scratch¶
From an example¶
Validate Protocol Files¶
View Example Content¶
Use as Go Library¶
package main
import (
"fmt"
"log"
"github.com/grokify/pidl"
"github.com/grokify/pidl/render"
)
func main() {
// Parse a PIDL file
p, err := pidl.ParseFile("protocol.json")
if err != nil {
log.Fatal(err)
}
// Validate
if errs := p.Validate(); errs.HasErrors() {
log.Fatal(errs)
}
// Generate Mermaid diagram
diagram, err := render.RenderString(render.FormatMermaid, p)
if err != nil {
log.Fatal(err)
}
fmt.Println(diagram)
}