All content ported from borealBytes/opencode under Apache-2.0 license with
attribution headers prepended to each file.
- references/markdown_style_guide.md (~733 lines): full markdown formatting,
citation, collapsible sections, emoji, Mermaid integration, and template
selection guide
- references/mermaid_style_guide.md (~458 lines): full Mermaid standards —
emoji set, classDef color palette, accessibility (accTitle/accDescr),
theme neutrality (no %%{init}), and diagram type selection table
- references/diagrams/ (24 files): per-type exemplars, tips, and templates
for all Mermaid diagram types
- templates/ (9 files): PR, issue, kanban, ADR, presentation, how-to,
status report, research paper, project docs
Source: https://github.com/borealBytes/opencode
2.2 KiB
ZenUML Sequence Diagram
Back to Style Guide — Read the style guide first for emoji, color, and accessibility rules.
Syntax keyword: zenuml
Best for: Code-like sequence diagrams, method-call-style interactions, developers familiar with programming syntax
When NOT to use: Prefer standard Sequence Diagrams for most use cases — ZenUML requires an external plugin and has limited GitHub support.
⚠️ GitHub support: ZenUML requires the
@mermaid-js/mermaid-zenumlexternal module. It may not render on GitHub natively. Use standardsequenceDiagramsyntax for GitHub compatibility.⚠️ Accessibility: ZenUML does not support
accTitle/accDescr. Always place a descriptive italic Markdown paragraph directly above the code block.
Exemplar Diagram
ZenUML sequence diagram showing a user authentication flow with credential validation and token generation using programming-style syntax:
zenuml
@Actor User
@Boundary AuthAPI
@Entity Database
// User initiates login
User->AuthAPI.login(credentials) {
AuthAPI->Database.findUser(email) {
return user
}
if (user.valid) {
return token
} else {
return error
}
}
Tips
- Uses programming-style syntax with method calls:
A->B.method(args) - Curly braces
{}create natural nesting (activation bars) - Control flow:
if/else,while,for,try/catch/finally,par - Participant types:
@Actor,@Boundary,@Entity,@Database,@Control - Comments with
//render above messages returnkeyword draws return arrows- Prefer standard
sequenceDiagramfor GitHub compatibility - Use ZenUML only when the code-style syntax is specifically desired
Template
Description of the interaction flow:
zenuml
@Actor User
@Boundary Server
@Entity DB
User->Server.request(data) {
Server->DB.query(params) {
return results
}
return response
}