Skip to content

Instantly share code, notes, and snippets.

@jmanhype
Created December 19, 2025 20:52
Show Gist options
  • Select an option

  • Save jmanhype/69dad42be8e5e9727128800c515d95a3 to your computer and use it in GitHub Desktop.

Select an option

Save jmanhype/69dad42be8e5e9727128800c515d95a3 to your computer and use it in GitHub Desktop.
OpenCode / Claude Code Capabilities Demo - Comprehensive demonstration of AI-powered development workflows
# OpenCode / Claude Code Capabilities Demo
A comprehensive demonstration of AI-powered development workflows using Claude Code (Anthropic's CLI) and OpenCode with the oh-my-opencode plugin.
## Project Built: Markdown Editor
**Repository**: https://github.com/jmanhype/markdown-editor
A full-featured Electron markdown editor with:
- Live preview with CodeMirror 6
- Vim/Emacs keybindings
- Custom theme builder
- Multi-document tabs
- PDF/HTML export
- Focus & distraction-free modes
Built from scratch using **ultrawork mode** (12 parallel agents).
---
## Capabilities Demonstrated
### 1. Greenfield Development (ultrawork)
Built the entire markdown editor using parallel agent orchestration:
- @oracle - Architecture decisions
- @librarian - Documentation lookup via Context7
- @frontend-ui-ux-engineer - Component implementation
- @explore - Codebase analysis
**Result**: 23 files, +1,557 lines in one session
### 2. Brownfield Exploration
Analyzed existing codebase with @explore agent:
```
Architecture: main.ts → preload.ts → renderer (App → components)
IPC Channels: file:*, export:*, app:setTitle, menu:*
Hooks: useMarkdown, useTheme, useKeybindingMode, useCustomThemes
```
### 3. LSP/AST Semantic Analysis
Deep code intelligence analysis found:
- **Orphaned IPC handler**: `app:setTheme` (dead code)
- **Type duplication**: Same types in 3 files (main.ts, preload.ts, electron-api.d.ts)
- **Unused exports**: `useMarkdown()`, `updateTheme()`, `setKeybindingMode()`
- **Security gap**: No path validation in `file:save` handler
### 4. Documentation Generation
Auto-generated 33KB DOCUMENTATION.md covering:
- Architecture overview with diagrams
- Complete IPC API reference
- Component props interfaces
- Custom hooks documentation
- Theming system guide
- Development setup
### 5. Multimodal Screenshot Analysis
Captured live app and analyzed:
- UI component audit (header, tabs, split pane, status bar)
- Visual design assessment (colors, typography, spacing)
- UX improvement suggestions
### 6. Hooks System
Created `.claude/settings.json` with:
```json
{
"hooks": {
"PreToolUse": [{ "matcher": "Edit", "hooks": [...] }],
"PostToolUse": [{ "matcher": "Edit|Write", "hooks": [
{ "type": "command", "command": "npx tsc --noEmit" }
]}]
}
}
```
Runs TypeScript type-checking after every file edit.
### 7. PR Review Workflow
Complete GitHub workflow:
1. Created feature branch
2. Committed documentation
3. Pushed to origin
4. Created PR via `gh pr create`
5. AI agent reviewed for accuracy
6. Posted findings to PR
**PR**: https://github.com/jmanhype/markdown-editor/pull/1
### 8. GGA Integration (Gentleman Guardian Angel)
Pre-commit AI code review:
```bash
# .gga config
PROVIDER="claude"
FILE_PATTERNS="*.ts,*.tsx,*.js,*.jsx"
RULES_FILE="AGENTS.md"
```
Reviews code against AGENTS.md standards on every commit.
---
## Tools & Integrations Used
| Tool | Purpose |
|------|---------|
| Claude Code | AI-powered CLI |
| oh-my-opencode | Plugin with specialized agents |
| Context7 MCP | Library documentation lookup |
| GitHub MCP | Repository operations |
| GGA | Pre-commit code review |
| Electron | Desktop app framework |
| Vite | Build tooling |
| CodeMirror 6 | Editor component |
---
## Key Learnings
1. **Parallel agents** dramatically speed up complex tasks
2. **Brownfield analysis** helps understand unfamiliar codebases quickly
3. **LSP/AST analysis** catches issues static linting misses
4. **Hooks** enable custom workflows (linting, testing, notifications)
5. **PR review agents** provide consistent, thorough reviews
---
## Commands Reference
```bash
# Start ultrawork mode
opencode --ultrawork
# Run brownfield exploration
# Use @explore agent in conversation
# Set up GGA
gga init && gga install
# Create PR with AI
gh pr create --title "..." --body "..."
```
---
Generated with [Claude Code](https://claude.com/claude-code) using Claude Opus 4.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment