Add "branding/visual-spec"
163
branding%2Fvisual-spec.-.md
Normal file
163
branding%2Fvisual-spec.-.md
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
# Visual Branding Specification
|
||||||
|
|
||||||
|
Central specification for plugin visual output in leo-claude-mktplace.
|
||||||
|
|
||||||
|
**Version:** 1.0.0
|
||||||
|
**Created:** 2026-01-28
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Principles
|
||||||
|
|
||||||
|
1. **Immediate Recognition** - Users should instantly know which plugin is running
|
||||||
|
2. **Phase Awareness** - For projman, users should see which sprint phase they're in
|
||||||
|
3. **Progress Visibility** - Sprint execution shows real-time progress
|
||||||
|
4. **Hierarchy Clarity** - Nested plugin calls are visually distinct from primary calls
|
||||||
|
5. **Professional Appearance** - Consistent, clean visual output
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Box Drawing Characters
|
||||||
|
|
||||||
|
### Double-Line (Projman Only)
|
||||||
|
|
||||||
|
```
|
||||||
|
╔══════════════════════════════════════════════════════════════════╗
|
||||||
|
║ Content here ║
|
||||||
|
╚══════════════════════════════════════════════════════════════════╝
|
||||||
|
```
|
||||||
|
|
||||||
|
Characters:
|
||||||
|
- Top-left: `╔` (U+2554)
|
||||||
|
- Top-right: `╗` (U+2557)
|
||||||
|
- Bottom-left: `╚` (U+255A)
|
||||||
|
- Bottom-right: `╝` (U+255D)
|
||||||
|
- Horizontal: `═` (U+2550)
|
||||||
|
- Vertical: `║` (U+2551)
|
||||||
|
|
||||||
|
### Single-Line (All Other Plugins)
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────────────────────────────────────────────────────────┐
|
||||||
|
│ Content here │
|
||||||
|
└──────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
Characters:
|
||||||
|
- Top-left: `┌` (U+250C)
|
||||||
|
- Top-right: `┐` (U+2510)
|
||||||
|
- Bottom-left: `└` (U+2514)
|
||||||
|
- Bottom-right: `┘` (U+2518)
|
||||||
|
- Horizontal: `─` (U+2500)
|
||||||
|
- Vertical: `│` (U+2502)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Width Specification
|
||||||
|
|
||||||
|
| Element | Width |
|
||||||
|
|---------|-------|
|
||||||
|
| Outer box | 70 characters |
|
||||||
|
| Inner content | 66 characters (after `║ ` and ` ║`) |
|
||||||
|
| Indented nested box | 66 characters outer (2-space indent) |
|
||||||
|
| Progress bar | 30 characters |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Progress Bar Characters
|
||||||
|
|
||||||
|
- Filled: `█` (U+2588 - Full Block)
|
||||||
|
- Empty: `░` (U+2591 - Light Shade)
|
||||||
|
|
||||||
|
**Calculation:**
|
||||||
|
```
|
||||||
|
filled_chars = round(percentage * 30 / 100)
|
||||||
|
empty_chars = 30 - filled_chars
|
||||||
|
bar = '█' * filled_chars + '░' * empty_chars
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Header Refresh Triggers
|
||||||
|
|
||||||
|
Headers should refresh (be re-displayed) when:
|
||||||
|
|
||||||
|
### Projman
|
||||||
|
- At start of command execution
|
||||||
|
- Phase transitions (planning → execution → closing)
|
||||||
|
- Batch completion during parallel execution
|
||||||
|
- Before generating execution prompts
|
||||||
|
- In final summary output
|
||||||
|
|
||||||
|
### Other Plugins
|
||||||
|
- At start of command execution
|
||||||
|
- After significant operations (scan complete, analysis done)
|
||||||
|
- In final summary output
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Trigger Source Labels
|
||||||
|
|
||||||
|
When a plugin is invoked by something other than direct user command:
|
||||||
|
|
||||||
|
| Source | Display Format |
|
||||||
|
|--------|----------------|
|
||||||
|
| User direct | (no parenthetical - clean header) |
|
||||||
|
| Hook | `(triggered by: hook)` |
|
||||||
|
| Another plugin | `(triggered by: projman)` |
|
||||||
|
| CLAUDE.md instruction | `(triggered by: claude.md)` |
|
||||||
|
| Agent delegation | `(triggered by: orchestrator)` |
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```
|
||||||
|
┌────────────────────────────────────────────────────────────────┐
|
||||||
|
│ 🔒 CODE-SENTINEL · Security Scan (triggered by: hook) │
|
||||||
|
└────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nested Call Indentation
|
||||||
|
|
||||||
|
When one plugin calls another, the secondary plugin's header is:
|
||||||
|
- Indented by **2 spaces**
|
||||||
|
- Uses single-line box (even if called by projman)
|
||||||
|
- Includes trigger source
|
||||||
|
|
||||||
|
```
|
||||||
|
╔══════════════════════════════════════════════════════════════════╗
|
||||||
|
║ 📋 PROJMAN ║
|
||||||
|
║ ⚡ SPRINT EXECUTION ║
|
||||||
|
║ Sprint 6: Visual Branding ║
|
||||||
|
╚══════════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
|
┌────────────────────────────────────────────────────────────────┐
|
||||||
|
│ 🔒 CODE-SENTINEL · Security Scan (triggered by: projman) │
|
||||||
|
└────────────────────────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
[security scan output here]
|
||||||
|
|
||||||
|
┌────────────────────────────────────────────────────────────────┐
|
||||||
|
│ ✓ CODE-SENTINEL · Complete │
|
||||||
|
└────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase Transition Indicator
|
||||||
|
|
||||||
|
When projman transitions between phases:
|
||||||
|
|
||||||
|
```
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
🎯 PLANNING ──────▶ ⚡ EXECUTION
|
||||||
|
═══════════════════════════════════════════════════════════════════
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Related Pages
|
||||||
|
|
||||||
|
- [[branding/plugin-registry]] - Plugin icons and display names
|
||||||
|
- [[branding/header-templates]] - Copy-paste header templates
|
||||||
|
- [[branding/progress-templates]] - Sprint progress block templates
|
||||||
Reference in New Issue
Block a user