chiron 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +27 -0
- data/CLAUDE.md +30 -1
- data/Gemfile.lock +1 -1
- data/docs/development_journal.md +119 -1
- data/lib/chiron/templates/python/CLAUDE.md.erb +34 -3
- data/lib/chiron/templates/python/commands/quality/python-testing.md +578 -0
- data/lib/chiron/templates/python/commands/workflows/debug-python.md +222 -0
- data/lib/chiron/templates/python/commands/workflows/flask-development.md +667 -0
- data/lib/chiron/templates/python/commands/workflows/python-refactor.md +336 -0
- data/lib/chiron/templates/rails/CLAUDE.md.erb +35 -3
- data/lib/chiron/templates/shared/commands/context/branch-context.md +176 -0
- data/lib/chiron/templates/shared/commands/context/catchup.md +6 -1
- data/lib/chiron/templates/shared/commands/context/quickstart.md +8 -3
- data/lib/chiron/templates/shared/commands/quality/test-driven.md +16 -6
- data/lib/chiron/templates/shared/commands/workflows/branch-management.md +256 -0
- data/lib/chiron/templates/shared/commands/workflows/create-prd.md +4 -3
- data/lib/chiron/templates/shared/commands/workflows/explore-plan-code-commit.md +192 -0
- data/lib/chiron/templates/shared/commands/workflows/visual-iteration.md +269 -0
- data/lib/chiron/templates/shared/development_journal.md.erb +9 -3
- data/lib/chiron/version.rb +1 -1
- metadata +9 -1
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# Visual Iteration Workflow for UI Development
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
A screenshot-driven development process that leverages Claude Code's image reading capabilities to iteratively improve user interfaces through visual feedback and refinement.
|
|
6
|
+
|
|
7
|
+
## Core Principle
|
|
8
|
+
|
|
9
|
+
Use screenshots as the primary feedback mechanism for UI development, allowing for rapid iteration and visual validation of changes before and after implementation.
|
|
10
|
+
|
|
11
|
+
## The Visual Iteration Process
|
|
12
|
+
|
|
13
|
+
### 1. Capture Initial State
|
|
14
|
+
|
|
15
|
+
**Goal**: Document the current state before making changes.
|
|
16
|
+
|
|
17
|
+
#### Actions:
|
|
18
|
+
- Take a screenshot of the current UI
|
|
19
|
+
- Share the screenshot with Claude Code using drag-and-drop or file path
|
|
20
|
+
- Document what needs to be changed or improved
|
|
21
|
+
|
|
22
|
+
#### Commands:
|
|
23
|
+
```bash
|
|
24
|
+
# macOS screenshot shortcuts
|
|
25
|
+
Cmd+Shift+4 # Select area to screenshot
|
|
26
|
+
Cmd+Shift+3 # Full screen screenshot
|
|
27
|
+
Cmd+Shift+5 # Screenshot options menu
|
|
28
|
+
|
|
29
|
+
# After taking screenshot, drag file into Claude Code chat
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
#### Documentation:
|
|
33
|
+
- Describe the current problems or limitations
|
|
34
|
+
- Identify specific UI elements that need attention
|
|
35
|
+
- Note any accessibility or usability concerns
|
|
36
|
+
|
|
37
|
+
### 2. Visual Analysis
|
|
38
|
+
|
|
39
|
+
**Goal**: Analyze the current UI and plan improvements.
|
|
40
|
+
|
|
41
|
+
#### Claude Code Analysis:
|
|
42
|
+
When you share a screenshot, ask Claude to:
|
|
43
|
+
- Identify UI/UX issues
|
|
44
|
+
- Suggest specific improvements
|
|
45
|
+
- Recommend modern design patterns
|
|
46
|
+
- Point out accessibility concerns
|
|
47
|
+
- Suggest component organization
|
|
48
|
+
|
|
49
|
+
#### Questions to Ask:
|
|
50
|
+
- What design patterns would improve this interface?
|
|
51
|
+
- Are there accessibility issues to address?
|
|
52
|
+
- How can we improve the visual hierarchy?
|
|
53
|
+
- What CSS/styling changes would have the biggest impact?
|
|
54
|
+
- How does this compare to modern UI conventions?
|
|
55
|
+
|
|
56
|
+
### 3. Incremental Implementation
|
|
57
|
+
|
|
58
|
+
**Goal**: Make small, visual changes and validate each step.
|
|
59
|
+
|
|
60
|
+
#### Implementation Strategy:
|
|
61
|
+
- Make one visual change at a time
|
|
62
|
+
- Focus on the most impactful changes first
|
|
63
|
+
- Use CSS/styling changes before structural changes
|
|
64
|
+
- Test responsiveness at each step
|
|
65
|
+
|
|
66
|
+
#### Change Types by Priority:
|
|
67
|
+
1. **Layout & Spacing**: Margins, padding, alignment
|
|
68
|
+
2. **Typography**: Font sizes, weights, line spacing
|
|
69
|
+
3. **Colors & Contrast**: Brand colors, accessibility compliance
|
|
70
|
+
4. **Components**: Buttons, forms, cards, navigation
|
|
71
|
+
5. **Interactions**: Hover states, transitions, animations
|
|
72
|
+
6. **Responsive**: Mobile, tablet, desktop breakpoints
|
|
73
|
+
|
|
74
|
+
### 4. Screenshot After Changes
|
|
75
|
+
|
|
76
|
+
**Goal**: Capture and validate the results of each change.
|
|
77
|
+
|
|
78
|
+
#### Process:
|
|
79
|
+
- Take a new screenshot after each significant change
|
|
80
|
+
- Compare with the previous screenshot
|
|
81
|
+
- Share the new screenshot with Claude Code for feedback
|
|
82
|
+
- Document what was changed and why
|
|
83
|
+
|
|
84
|
+
#### Validation Questions:
|
|
85
|
+
- Does this change improve the user experience?
|
|
86
|
+
- Are there any unintended side effects?
|
|
87
|
+
- Does it work across different screen sizes?
|
|
88
|
+
- Is the change consistent with the design system?
|
|
89
|
+
|
|
90
|
+
### 5. Iterate 2-3 Times
|
|
91
|
+
|
|
92
|
+
**Goal**: Refine the UI through multiple feedback cycles.
|
|
93
|
+
|
|
94
|
+
#### Typical Iteration Pattern:
|
|
95
|
+
- **Iteration 1**: Major layout and structural improvements
|
|
96
|
+
- **Iteration 2**: Color, typography, and spacing refinements
|
|
97
|
+
- **Iteration 3**: Polish, micro-interactions, and edge cases
|
|
98
|
+
|
|
99
|
+
#### When to Stop Iterating:
|
|
100
|
+
- The UI meets functional requirements
|
|
101
|
+
- Visual design is cohesive and accessible
|
|
102
|
+
- User experience feels intuitive
|
|
103
|
+
- No obvious improvements remain
|
|
104
|
+
- Time/budget constraints require moving on
|
|
105
|
+
|
|
106
|
+
## UI Development Best Practices
|
|
107
|
+
|
|
108
|
+
### Component-First Approach
|
|
109
|
+
```ruby
|
|
110
|
+
# For Rails with ViewComponent
|
|
111
|
+
# app/components/button_component.rb
|
|
112
|
+
class ButtonComponent < ViewComponent::Base
|
|
113
|
+
def initialize(variant: :primary, size: :medium, **options)
|
|
114
|
+
@variant = variant
|
|
115
|
+
@size = size
|
|
116
|
+
@options = options
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
private
|
|
120
|
+
|
|
121
|
+
attr_reader :variant, :size, :options
|
|
122
|
+
|
|
123
|
+
def css_classes
|
|
124
|
+
["btn", "btn--#{variant}", "btn--#{size}", @options[:class]].compact.join(" ")
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### CSS Organization
|
|
130
|
+
```scss
|
|
131
|
+
// Use BEM methodology
|
|
132
|
+
.btn {
|
|
133
|
+
&--primary { /* primary styles */ }
|
|
134
|
+
&--secondary { /* secondary styles */ }
|
|
135
|
+
&--small { /* small size */ }
|
|
136
|
+
&--medium { /* medium size */ }
|
|
137
|
+
&--large { /* large size */ }
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Responsive Design Testing
|
|
142
|
+
```css
|
|
143
|
+
/* Test at common breakpoints */
|
|
144
|
+
/* Mobile: 320px - 768px */
|
|
145
|
+
/* Tablet: 768px - 1024px */
|
|
146
|
+
/* Desktop: 1024px+ */
|
|
147
|
+
|
|
148
|
+
@media (max-width: 768px) {
|
|
149
|
+
.component {
|
|
150
|
+
/* mobile styles */
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Tools and Techniques
|
|
156
|
+
|
|
157
|
+
### Screenshot Tools
|
|
158
|
+
- **macOS**: Built-in screenshot tools (Cmd+Shift+4/5)
|
|
159
|
+
- **Windows**: Snipping Tool, Windows+Shift+S
|
|
160
|
+
- **Browser**: Developer tools device emulation
|
|
161
|
+
- **Third-party**: CleanShot X, LightShot
|
|
162
|
+
|
|
163
|
+
### Browser Development
|
|
164
|
+
```javascript
|
|
165
|
+
// Test different viewport sizes in browser console
|
|
166
|
+
// Responsive design testing
|
|
167
|
+
window.resizeTo(375, 812); // iPhone X
|
|
168
|
+
window.resizeTo(768, 1024); // iPad
|
|
169
|
+
window.resizeTo(1440, 900); // Desktop
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### CSS Grid and Flexbox Debugging
|
|
173
|
+
```css
|
|
174
|
+
/* Temporary debug styles */
|
|
175
|
+
.debug-grid {
|
|
176
|
+
outline: 1px solid red !important;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.debug-flex {
|
|
180
|
+
background: rgba(255, 0, 0, 0.1) !important;
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Common UI Improvement Patterns
|
|
185
|
+
|
|
186
|
+
### Layout Issues
|
|
187
|
+
- **Problem**: Cramped spacing
|
|
188
|
+
- **Solution**: Add consistent padding/margins using design tokens
|
|
189
|
+
- **Validation**: Elements have breathing room, visual hierarchy is clear
|
|
190
|
+
|
|
191
|
+
### Typography Problems
|
|
192
|
+
- **Problem**: Poor readability
|
|
193
|
+
- **Solution**: Improve font sizes, line heights, contrast ratios
|
|
194
|
+
- **Validation**: Text is easy to read at all screen sizes
|
|
195
|
+
|
|
196
|
+
### Color and Contrast
|
|
197
|
+
- **Problem**: Accessibility violations
|
|
198
|
+
- **Solution**: Use WCAG AA compliant color combinations
|
|
199
|
+
- **Validation**: Passes automated accessibility testing
|
|
200
|
+
|
|
201
|
+
### Interactive Elements
|
|
202
|
+
- **Problem**: Unclear interactive states
|
|
203
|
+
- **Solution**: Add hover, focus, and active states
|
|
204
|
+
- **Validation**: Users can identify clickable elements
|
|
205
|
+
|
|
206
|
+
## Integration with Testing
|
|
207
|
+
|
|
208
|
+
### Visual Regression Testing
|
|
209
|
+
```ruby
|
|
210
|
+
# RSpec with Capybara
|
|
211
|
+
scenario "homepage layout" do
|
|
212
|
+
visit root_path
|
|
213
|
+
# Take screenshot for comparison
|
|
214
|
+
save_screenshot("homepage_#{Date.current}.png")
|
|
215
|
+
|
|
216
|
+
expect(page).to have_css(".hero-section")
|
|
217
|
+
expect(page).to have_css(".call-to-action")
|
|
218
|
+
end
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Accessibility Testing
|
|
222
|
+
```ruby
|
|
223
|
+
# Include accessibility testing
|
|
224
|
+
require 'axe-capybara'
|
|
225
|
+
|
|
226
|
+
scenario "homepage accessibility" do
|
|
227
|
+
visit root_path
|
|
228
|
+
expect(page).to be_axe_clean
|
|
229
|
+
end
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Documentation and Handoff
|
|
233
|
+
|
|
234
|
+
### Design System Updates
|
|
235
|
+
- Update component documentation with screenshots
|
|
236
|
+
- Document new CSS classes and their usage
|
|
237
|
+
- Add examples of component variations
|
|
238
|
+
- Include accessibility notes
|
|
239
|
+
|
|
240
|
+
### Developer Handoff
|
|
241
|
+
- Provide before/after screenshots
|
|
242
|
+
- Document CSS changes made
|
|
243
|
+
- Include responsive breakpoint notes
|
|
244
|
+
- Add any new dependencies or setup requirements
|
|
245
|
+
|
|
246
|
+
## When to Use Visual Iteration
|
|
247
|
+
|
|
248
|
+
### Ideal For:
|
|
249
|
+
- New UI component development
|
|
250
|
+
- Redesigning existing interfaces
|
|
251
|
+
- Fixing visual bugs or inconsistencies
|
|
252
|
+
- Improving accessibility
|
|
253
|
+
- Responsive design implementation
|
|
254
|
+
|
|
255
|
+
### Not Necessary For:
|
|
256
|
+
- Backend logic changes
|
|
257
|
+
- API development
|
|
258
|
+
- Database migrations
|
|
259
|
+
- Non-visual bug fixes
|
|
260
|
+
|
|
261
|
+
## Success Metrics
|
|
262
|
+
|
|
263
|
+
You're using visual iteration successfully when:
|
|
264
|
+
- UI changes are intentional and validated
|
|
265
|
+
- Screenshots provide clear before/after documentation
|
|
266
|
+
- Multiple stakeholders can review visual progress
|
|
267
|
+
- Accessibility and usability improve with each iteration
|
|
268
|
+
- Development time spent on UI revisions decreases
|
|
269
|
+
- User feedback on interface quality improves
|
|
@@ -8,12 +8,18 @@ This journal tracks significant development work, bug fixes, and feature impleme
|
|
|
8
8
|
|
|
9
9
|
## Active Branches & Ownership
|
|
10
10
|
- `main`: Stable branch for production releases
|
|
11
|
-
- `[feature-branch]`: [Developer Name] - [Feature description]
|
|
11
|
+
- `[feature-branch]`: [Developer Name] - [Feature description] - [Created YYYY-MM-DD]
|
|
12
|
+
|
|
13
|
+
### Branch Tracking Guidelines
|
|
14
|
+
- Always update this section when creating/merging branches
|
|
15
|
+
- Include branch purpose, owner, and creation date
|
|
16
|
+
- Link to related PRD files when applicable
|
|
17
|
+
- Note dependencies between branches
|
|
12
18
|
|
|
13
19
|
---
|
|
14
20
|
|
|
15
21
|
## <%= Date.today.strftime('%Y-%m-%d') %> - Initial Setup
|
|
16
|
-
**Developer(s)**: [Your Name] & Claude Code | **Context**: Project initialization
|
|
22
|
+
**Developer(s)**: [Your Name] & Claude Code | **Branch**: main | **Context**: Project initialization
|
|
17
23
|
|
|
18
24
|
### What Was Done
|
|
19
25
|
- Initialized Rails <%= Rails.version rescue "8.0.2" %> application
|
|
@@ -51,7 +57,7 @@ This journal tracks significant development work, bug fixes, and feature impleme
|
|
|
51
57
|
Journal Entry Template - Copy for new entries:
|
|
52
58
|
|
|
53
59
|
## [YYYY-MM-DD] - [Brief Summary Title]
|
|
54
|
-
**Developer(s)**: [Name] | **Context**: [How work was initiated]
|
|
60
|
+
**Developer(s)**: [Name] | **Branch**: [branch-name] | **Context**: [How work was initiated]
|
|
55
61
|
|
|
56
62
|
### What Was Done
|
|
57
63
|
- [Specific actions taken]
|
data/lib/chiron/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chiron
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brett McHargue
|
|
@@ -133,9 +133,14 @@ files:
|
|
|
133
133
|
- lib/chiron/project_config.rb
|
|
134
134
|
- lib/chiron/templates/python/CLAUDE.md.erb
|
|
135
135
|
- lib/chiron/templates/python/commands/conventions/python.md
|
|
136
|
+
- lib/chiron/templates/python/commands/quality/python-testing.md
|
|
137
|
+
- lib/chiron/templates/python/commands/workflows/debug-python.md
|
|
138
|
+
- lib/chiron/templates/python/commands/workflows/flask-development.md
|
|
139
|
+
- lib/chiron/templates/python/commands/workflows/python-refactor.md
|
|
136
140
|
- lib/chiron/templates/rails/CLAUDE.md.erb
|
|
137
141
|
- lib/chiron/templates/rails/commands/conventions/rails.md
|
|
138
142
|
- lib/chiron/templates/shared/claude/settings.json
|
|
143
|
+
- lib/chiron/templates/shared/commands/context/branch-context.md
|
|
139
144
|
- lib/chiron/templates/shared/commands/context/catchup.md
|
|
140
145
|
- lib/chiron/templates/shared/commands/context/prime.md
|
|
141
146
|
- lib/chiron/templates/shared/commands/context/quickstart.md
|
|
@@ -143,10 +148,13 @@ files:
|
|
|
143
148
|
- lib/chiron/templates/shared/commands/journal/template.md
|
|
144
149
|
- lib/chiron/templates/shared/commands/quality/pre-commit.md
|
|
145
150
|
- lib/chiron/templates/shared/commands/quality/test-driven.md
|
|
151
|
+
- lib/chiron/templates/shared/commands/workflows/branch-management.md
|
|
146
152
|
- lib/chiron/templates/shared/commands/workflows/create-prd.md
|
|
153
|
+
- lib/chiron/templates/shared/commands/workflows/explore-plan-code-commit.md
|
|
147
154
|
- lib/chiron/templates/shared/commands/workflows/feature-complete.md
|
|
148
155
|
- lib/chiron/templates/shared/commands/workflows/generate-tasks.md
|
|
149
156
|
- lib/chiron/templates/shared/commands/workflows/process-tasks.md
|
|
157
|
+
- lib/chiron/templates/shared/commands/workflows/visual-iteration.md
|
|
150
158
|
- lib/chiron/templates/shared/development_journal.md.erb
|
|
151
159
|
- lib/chiron/version.rb
|
|
152
160
|
homepage: https://github.com/ebrett/chiron
|