Skip to content

Commit 9278a9d

Browse files
wesmclaude
andcommitted
feat: Consolidate screenshot generation into main repo and CI workflow
Eliminate moneyflow-assets repository dependency by integrating screenshot generation directly into the GitHub Actions docs deployment workflow. ## Changes ### Infrastructure - Update generate_screenshots.py to output to docs/assets/screenshots/ - Add screenshot generation step to docs.yml workflow (runs on stable push) - Add screenshot verification to bump-version.sh pre-release checks - Simplify post-publish.sh by removing moneyflow-assets logic (-80 lines) - Add docs/assets/screenshots/ to .gitignore (generated fresh in CI) ### Documentation - Update README.md screenshot URL to moneyflow.dev (deployed site) - Update all docs/*.md files to use relative paths (28 references across 5 files) - Update PUBLISHING.md and scripts/README.md to reflect new workflow ## Benefits - Simpler workflow (one repo instead of two) - Automated screenshot generation (no manual steps) - Atomic deployments (screenshots and docs always in sync) - Verifiable releases (screenshot generation tested before version bump) - Cleaner codebase (-80 lines of bash script) ## Testing - Screenshot generation verified locally - All code quality checks passing (ruff, pyright, markdownlint) - Ready for CI testing on stable branch See MIGRATION_SUMMARY.md for complete migration details. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent f2c89c2 commit 9278a9d

File tree

14 files changed

+97
-177
lines changed

14 files changed

+97
-177
lines changed

.github/workflows/docs.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,24 @@ jobs:
3131
run: |
3232
uv pip install --system mkdocs-material mkdocs-material-extensions
3333
34+
- name: Sync project dependencies
35+
run: |
36+
uv sync
37+
38+
- name: Generate screenshots
39+
run: |
40+
uv run python scripts/generate_screenshots.py
41+
env:
42+
# Use headless mode for CI
43+
TERM: xterm-256color
44+
3445
- name: Build and deploy
3546
run: |
3647
mkdocs gh-deploy --force
3748
3849
- name: Summary
3950
run: |
4051
echo "📚 Documentation deployed to GitHub Pages from stable branch" >> $GITHUB_STEP_SUMMARY
52+
echo "🎬 Screenshots generated and included in build" >> $GITHUB_STEP_SUMMARY
4153
echo "🌐 Site will be available at: https://moneyflow.dev" >> $GITHUB_STEP_SUMMARY
4254
echo "⚠️ Only released features (from stable branch) are published" >> $GITHUB_STEP_SUMMARY

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ htmlcov/
4949
.DS_Store
5050
site/
5151

52+
# Generated documentation assets
53+
docs/assets/screenshots/*.svg
54+
docs/assets/screenshots/*.png
55+
5256
# Nix
5357
result
5458
result-*

PUBLISHING.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ git push && git push --tags
8383
```
8484

8585
This automates:
86-
- Generating latest screenshots
87-
- Committing to moneyflow-assets with squashed history
86+
8887
- Updating stable branch to release tag
88+
- Pushing to GitHub (triggers docs deployment with screenshot generation)
8989

9090
---
9191

@@ -123,6 +123,7 @@ TestPyPI allows re-uploads for testing.
123123
### uvx can't find command after install
124124

125125
Check entry point in pyproject.toml:
126+
126127
```toml
127128
[project.scripts]
128129
moneyflow = "moneyflow.app:main"
@@ -134,6 +135,6 @@ moneyflow = "moneyflow.app:main"
134135

135136
Your package will be available at:
136137

137-
- **PyPI**: https://pypi.org/project/moneyflow/
138+
- **PyPI**: <https://pypi.org/project/moneyflow/>
138139
- **Install**: `pip install moneyflow`
139140
- **Run**: `uvx moneyflow`

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
A keyboard-driven terminal UI for managing personal finance transactions. Built for users who prefer efficiency and
1111
direct control over their financial data.
1212

13-
![moneyflow main screen](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/home-screen.svg)
13+
![moneyflow main screen](https://moneyflow.dev/assets/screenshots/home-screen.svg)
1414

1515
**Supported Platforms:**
1616

docs/assets/screenshots/.gitkeep

Whitespace-only changes.

docs/guide/editing.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ This workflow gives you precise control over merchant names while making it easy
6565

6666
Select multiple transactions to edit them all at once:
6767

68-
![Multi-select transactions with checkmarks](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-detail-multi-select.svg)
68+
![Multi-select transactions with checkmarks](assets/screenshots/drill-down-detail-multi-select.svg)
6969

7070
1. Press ++space++ on each transaction you want to edit
7171
- A `` checkmark appears
@@ -90,7 +90,7 @@ Select multiple transactions to edit them all at once:
9090
From any aggregate view (Merchants, Categories, Groups, Accounts), press ++m++, ++c++, or ++h++ to edit ALL
9191
transactions in that group:
9292

93-
![Bulk edit merchant modal](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-bulk-edit-merchant.svg)
93+
![Bulk edit merchant modal](assets/screenshots/drill-down-bulk-edit-merchant.svg)
9494

9595
### Example: Rename a merchant (all transactions)
9696

@@ -100,7 +100,7 @@ transactions in that group:
100100
4. Type "Amazon" and press ++enter++
101101
5. ALL transactions for that merchant are renamed
102102

103-
![Edit category selection](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-edit-category.svg)
103+
![Edit category selection](assets/screenshots/drill-down-edit-category.svg)
104104

105105
### Multi-Select Groups (NEW!)
106106

docs/guide/monarch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,15 @@ moneyflow
4747

4848
On first run, you'll be prompted to select a backend:
4949

50-
![Backend selection](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/backend-select.svg)
50+
![Backend selection](assets/screenshots/backend-select.svg)
5151

5252
Select **Monarch Money**.
5353

5454
### 2. Enter Monarch Money Credentials
5555

5656
You'll see the credential setup screen:
5757

58-
![Credential setup screen](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/monarch-credentials.svg)
58+
![Credential setup screen](assets/screenshots/monarch-credentials.svg)
5959

6060
Enter:
6161

docs/guide/navigation.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,41 @@ amount spent.
1717
<tr>
1818
<td width="50%">
1919
<strong>Merchant View</strong><br>
20-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/cycle-1-merchants.svg" width="100%"
20+
<img src="assets/screenshots/cycle-1-merchants.svg" width="100%"
2121
alt="Merchants view">
2222
</td>
2323
<td width="50%">
2424
<strong>Category View</strong><br>
25-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/cycle-2-categories.svg" width="100%"
25+
<img src="assets/screenshots/cycle-2-categories.svg" width="100%"
2626
alt="Categories view">
2727
</td>
2828
</tr>
2929
<tr>
3030
<td width="50%">
3131
<strong>Group View</strong><br>
32-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/cycle-3-groups.svg" width="100%" alt="Groups view">
32+
<img src="assets/screenshots/cycle-3-groups.svg" width="100%" alt="Groups view">
3333
</td>
3434
<td width="50%">
3535
<strong>Account View</strong><br>
36-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/cycle-4-accounts.svg" width="100%" alt="Accounts view">
36+
<img src="assets/screenshots/cycle-4-accounts.svg" width="100%" alt="Accounts view">
3737
</td>
3838
</tr>
3939
<tr>
4040
<td width="50%">
4141
<strong>TIME View (by Years)</strong><br>
42-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/cycle-5-time-years.svg" width="100%"
42+
<img src="assets/screenshots/cycle-5-time-years.svg" width="100%"
4343
alt="Time view by years">
4444
</td>
4545
<td width="50%">
4646
<strong>TIME View (by Months)</strong><br>
47-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/time-view-months.svg" width="100%"
47+
<img src="assets/screenshots/time-view-months.svg" width="100%"
4848
alt="Time view by months">
4949
</td>
5050
</tr>
5151
<tr>
5252
<td width="50%">
5353
<strong>TIME View (by Days)</strong><br>
54-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/time-view-days.svg" width="100%"
54+
<img src="assets/screenshots/time-view-days.svg" width="100%"
5555
alt="Time view by days">
5656
</td>
5757
<td width="50%">
@@ -120,13 +120,13 @@ To return to an aggregate view, press `g` or `Escape`.
120120
- Multi-select for bulk operations
121121
- View full transaction details
122122

123-
![Detail view with indicators](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/detail-view-flags.svg)
123+
![Detail view with indicators](assets/screenshots/detail-view-flags.svg)
124124

125125
## Drill-Down
126126

127127
From any aggregate view, press `Enter` on a row to drill into it and see the individual transactions that make up that aggregate.
128128

129-
![Merchant view with Amazon highlighted](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/merchants-view.svg)
129+
![Merchant view with Amazon highlighted](assets/screenshots/merchants-view.svg)
130130

131131
**Example workflow:**
132132

@@ -135,7 +135,7 @@ From any aggregate view, press `Enter` on a row to drill into it and see the ind
135135
3. **Press `Enter`** - Drill down to see transactions
136136
4. **View results** - All Amazon transactions displayed
137137

138-
![Drilled down into Amazon - transaction detail view](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-detail.svg)
138+
![Drilled down into Amazon - transaction detail view](assets/screenshots/drill-down-detail.svg)
139139

140140
The breadcrumb shows your current path: `Merchants > Amazon`
141141

@@ -161,9 +161,9 @@ This allows you to analyze the same transactions from multiple perspectives with
161161
6. **Press `g` again** - Returns to detail view
162162
- Shows all Amazon transactions ungrouped
163163

164-
![Drilled into Merchant, grouped by Category](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/merchants-drill-by-category.svg)
164+
![Drilled into Merchant, grouped by Category](assets/screenshots/merchants-drill-by-category.svg)
165165

166-
![Drilled into Amazon, grouped by Account](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-group-by-account.svg)
166+
![Drilled into Amazon, grouped by Account](assets/screenshots/drill-down-group-by-account.svg)
167167

168168
Sub-grouping helps answer analytical questions like:
169169

@@ -189,7 +189,7 @@ You can drill down from sub-grouped views to add another level of filtering, cre
189189
4. **View results** - Breadcrumb shows: `Merchants > Amazon > Groceries`
190190
- Now viewing only Amazon grocery transactions
191191

192-
![Multi-level drill-down breadcrumb](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/drill-down-multi-level.svg)
192+
![Multi-level drill-down breadcrumb](assets/screenshots/drill-down-multi-level.svg)
193193

194194
This powerful feature lets you combine multiple filters to answer very specific questions about your spending.
195195

@@ -267,12 +267,12 @@ From TIME view, press `Enter` on any year, month, or day to drill down and see o
267267
<tr>
268268
<td width="50%">
269269
<strong>Drilled Into Year</strong><br>
270-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/time-drill-down-year.svg" width="100%"
270+
<img src="assets/screenshots/time-drill-down-year.svg" width="100%"
271271
alt="Drilled into specific year">
272272
</td>
273273
<td width="50%">
274274
<strong>Drilled Into Month</strong><br>
275-
<img src="https://raw.githubusercontent.com/wesm/moneyflow-assets/main/time-drill-down-month.svg" width="100%"
275+
<img src="assets/screenshots/time-drill-down-month.svg" width="100%"
276276
alt="Drilled into specific month">
277277
</td>
278278
</tr>
@@ -331,7 +331,7 @@ moneyflow --mtd # Fetch month-to-date only
331331

332332
Press `/` to search and filter transactions by text matching across merchant names, categories, and transaction notes.
333333

334-
![Search modal](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/search-modal.svg)
334+
![Search modal](assets/screenshots/search-modal.svg)
335335

336336
**Using search:**
337337

@@ -340,7 +340,7 @@ Press `/` to search and filter transactions by text matching across merchant nam
340340
3. **Press `Enter`** - Applies the search filter
341341
4. **Press `Escape`** - Clears search and returns to previous view
342342

343-
![Search results for "coffee"](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/merchants-search.svg)
343+
![Search results for "coffee"](assets/screenshots/merchants-search.svg)
344344

345345
Search filters persist as you navigate between different views. The breadcrumb displays "Search: your query" to remind
346346
you that search is active. To clear a search, press `/` again and submit an empty search, or press `Escape` if search

docs/guide/ynab.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ moneyflow
4444

4545
On first run, you'll be prompted to select a backend:
4646

47-
![Backend selection](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/backend-select.svg)
47+
![Backend selection](assets/screenshots/backend-select.svg)
4848

4949
Select **YNAB**.
5050

5151
### 2. Enter YNAB Credentials
5252

5353
You'll see the credential setup screen:
5454

55-
![Credential setup screen](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/ynab-credentials.svg)
55+
![Credential setup screen](assets/screenshots/ynab-credentials.svg)
5656

5757
Enter:
5858

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
## Terminal UI for personal finance power users
99

10-
![moneyflow terminal UI](https://raw.githubusercontent.com/wesm/moneyflow-assets/main/home-screen.svg)
10+
![moneyflow terminal UI](assets/screenshots/home-screen.svg)
1111

1212
```bash
1313
# Install and run

0 commit comments

Comments
 (0)