🇺🇸 English | 🇪🇸 Español
EA PlantUML (ArchiMate) VSC Extension
Enterprise Architecture toolkit for PlantUML + ArchiMate inside Visual Studio Code.
Built for architects who want speed, consistency, and governance when modeling with ArchiMate.
🚀 What is EA PlantUML?
EA PlantUML (ArchiMate) enhances the ArchiMate modeling experience in VS Code by providing:
- Full support for all Archimate-PlantUML macros (elements + relationships)
- Smart snippets (short aliases + full macro names)
- Hover documentation (English & Spanish)
- Optional intelligent completions
- Enterprise-ready structure for serious EA work
Inspired by the official Archimate-PlantUML library:
https://github.com/plantuml-stdlib/Archimate-PlantUML
🛠 Requirements
This extension works together with the official PlantUML extension for VS Code:
https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml
Requirements for Local Render
You must install:
▶ Getting Started
Create a new .puml file:
@startuml
!include <archimate/Archimate>
Add your first element:
Business_Process(BP_Checkout, Checkout)
Hover over macros (e.g., Business_Process) to see signature + guidance.
🔤 Snippet Abbreviations (Short Aliases)
| Snippet |
Expands To |
arch |
ArchiMate Diagram Template |
cap |
Strategy_Capability |
ba |
Business_Actor |
br |
Business_Role |
bp |
Business_Process |
bs |
Business_Service |
ac |
Application_Component |
as |
Application_Service |
do |
Data_Object |
tn |
Technology_Node |
ts |
Technology_Service |
ss |
System_Software |
rs |
Rel_Serving |
rr |
Rel_Realization |
ra |
Rel_Assignment |
rf |
Rel_Flow |
grp |
Grouping(...) { ... } |
group |
Group(...) { ... } (if supported) |
rassoc |
Rel_Association |
rcomp |
Rel_Composition |
ragg |
Rel_Aggregation |
rtrg |
Rel_Triggering |
racc |
Rel_Access |
🧩 Full Macro Names (All Supported)
You can also type any full macro name directly (autocomplete + hover).
Below is the complete list detected from Archimate-PlantUML (146 macros), grouped by category.
🔵 Elements (29)
| Macro |
Macro |
Macro |
| Application_Collaboration |
Business_Collaboration |
Business_Representation |
| Application_Component |
Business_Contract |
Business_Role |
| Application_DataObject |
Business_Event |
Business_Service |
| Application_Event |
Business_Function |
Other_Grouping |
| Application_Function |
Business_Interaction |
Other_Location |
| Application_Interaction |
Business_Interface |
Strategy_Capability |
| Application_Interface |
Business_Location |
Strategy_CourseOfAction |
| Application_Process |
Business_Object |
Strategy_Resource |
| Application_Service |
Business_Process |
Strategy_ValueStream |
| Business_Actor |
Business_Product |
|
🟣 Relationships (82)
| Macro |
Macro |
Macro |
| Junction_And |
Rel_Aggregation_Down |
Rel_Flow_Up |
| Junction_Or |
Rel_Aggregation_Left |
Rel_Influence |
| Lay_D |
Rel_Aggregation_Right |
Rel_Influence_Down |
| Lay_L |
Rel_Aggregation_Up |
Rel_Influence_Left |
| Lay_R |
Rel_Assignment |
Rel_Influence_Right |
| Lay_U |
Rel_Assignment_Down |
Rel_Influence_Up |
| Rel_ |
Rel_Assignment_Left |
Rel_Realization |
| Rel_Access |
Rel_Assignment_Right |
Rel_Realization_Down |
| Rel_Access_Down |
Rel_Assignment_Up |
Rel_Realization_Left |
| Rel_Access_Left |
Rel_Association |
Rel_Realization_Right |
| Rel_Access_r |
Rel_Association_dir |
Rel_Realization_Up |
| Rel_Access_r_Down |
Rel_Association_dir_Down |
Rel_Serving |
| Rel_Access_r_Left |
Rel_Association_dir_Left |
Rel_Serving_Down |
| Rel_Access_r_Right |
Rel_Association_dir_Right |
Rel_Serving_Left |
| Rel_Access_r_Up |
Rel_Association_dir_Up |
Rel_Serving_Right |
| Rel_Access_Right |
Rel_Association_Down |
Rel_Serving_Up |
| Rel_Access_rw |
Rel_Association_Left |
Rel_Specialization |
| Rel_Access_rw_Down |
Rel_Association_Right |
Rel_Specialization_Down |
| Rel_Access_rw_Left |
Rel_Association_Up |
Rel_Specialization_Left |
| Rel_Access_rw_Right |
Rel_Composition |
Rel_Specialization_Right |
| Rel_Access_rw_Up |
Rel_Composition_Down |
Rel_Specialization_Up |
| Rel_Access_Up |
Rel_Composition_Left |
Rel_Triggering |
| Rel_Access_w |
Rel_Composition_Right |
Rel_Triggering_Down |
| Rel_Access_w_Down |
Rel_Composition_Up |
Rel_Triggering_Left |
| Rel_Access_w_Left |
Rel_Flow |
Rel_Triggering_Right |
| Rel_Access_w_Right |
Rel_Flow_Down |
Rel_Triggering_Up |
| Rel_Access_w_Up |
Rel_Flow_Left |
|
| Rel_Aggregation |
Rel_Flow_Right |
|
🟢 Motivation (10)
| Macro |
Macro |
Macro |
| Motivation_Assessment |
Motivation_Meaning |
Motivation_Stakeholder |
| Motivation_Constraint |
Motivation_Outcome |
Motivation_Value |
| Motivation_Driver |
Motivation_Principle |
|
| Motivation_Goal |
Motivation_Requirement |
|
🟠 Implementation & Migration (5)
| Macro |
Macro |
Macro |
| Implementation_Deliverable |
Implementation_Gap |
Implementation_WorkPackage |
| Implementation_Event |
Implementation_Plateau |
|
⚙️ Technology (13)
| Macro |
Macro |
Macro |
| Technology_Artifact |
Technology_Function |
Technology_Process |
| Technology_Collaboration |
Technology_Interaction |
Technology_Service |
| Technology_CommunicationNetwork |
Technology_Interface |
Technology_SystemSoftware |
| Technology_Device |
Technology_Node |
|
| Technology_Event |
Technology_Path |
|
📦 Physical (4)
| Macro |
Macro |
Macro |
| Physical_DistributionNetwork |
Physical_Facility |
|
| Physical_Equipment |
Physical_Material |
|
🔧 Layout & Helpers (3)
| Macro |
Macro |
Macro |
| Boundary |
Group |
Grouping |
💡 Why EA PlantUML?
| Without EA PlantUML |
With EA PlantUML |
| Memorize macros |
Hover guidance |
| Manual structure |
Smart snippets |
| No governance hints |
Structured usage |
| Slower modeling |
Faster iteration |
🏬 Example Use Cases
- Capability Maps
- Application Landscapes
- Platform Architecture Views
- Business → Application alignment
- Integration modeling
📸 Screenshots
Snippet Autocomplete

Hover Documentation

🔗 Technical Documentation
See: docs/DEVELOPMENT.md
👩💻 Maintained by
Maru Amallo
Enterprise Architect
https://maruamallo.com
🇦🇷 Crafted in Argentina for global Enterprise Architecture
📄 License
MIT