Skip to content

Commit 06d510f

Browse files
committed
chore: Rename binary and cmd directory from monarch-sync to itemize
- Rename cmd/monarch-sync/ → cmd/itemize/ - Update binary name in Makefile, Dockerfile, CI workflows - Update usage strings in main.go and cli/output.go - Update all docs and CLAUDE.md references
1 parent 62aa856 commit 06d510f

11 files changed

Lines changed: 46 additions & 46 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,13 @@ jobs:
112112
GOOS: ${{ matrix.os == 'ubuntu-latest' && 'linux' || matrix.os == 'macos-latest' && 'darwin' || 'windows' }}
113113
GOARCH: ${{ matrix.arch }}
114114
run: |
115-
go build -v -o monarchmoney-sync-backend${{ matrix.os == 'windows-latest' && '.exe' || '' }} ./cmd/monarch-sync/
115+
go build -v -o itemize${{ matrix.os == 'windows-latest' && '.exe' || '' }} ./cmd/itemize/
116116
117117
- name: Upload artifact
118118
uses: actions/upload-artifact@v4
119119
with:
120120
name: binary-${{ matrix.os }}-${{ matrix.arch }}
121-
path: monarchmoney-sync-backend*
121+
path: itemize*
122122

123123
security:
124124
name: Security Scan

CLAUDE.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,28 @@
77

88
A CLI application that syncs Walmart, Costco, and Amazon purchases with Monarch Money, automatically categorizing items and splitting transactions. It includes:
99
- **CLI tool** for command-line syncing
10-
- **API server** (`./monarch-sync serve`) for programmatic access
10+
- **API server** (`./itemize serve`) for programmatic access
1111

1212
## Quick Reference
1313

1414
### Build and Run
1515
```bash
1616
# Build Go backend
17-
go build -o monarch-sync ./cmd/monarch-sync/
17+
go build -o itemize ./cmd/itemize/
1818

1919
# Run with dry-run (preview, no changes)
20-
./monarch-sync walmart -dry-run -days 14 -verbose
21-
./monarch-sync costco -dry-run -days 7
20+
./itemize walmart -dry-run -days 14 -verbose
21+
./itemize costco -dry-run -days 7
2222

2323
# Apply changes
24-
./monarch-sync walmart -days 14
25-
./monarch-sync costco -days 7 -max 10
24+
./itemize walmart -days 14
25+
./itemize costco -days 7 -max 10
2626

2727
# Force reprocess already-processed orders
28-
./monarch-sync walmart -force
28+
./itemize walmart -force
2929

3030
# Start API server
31-
./monarch-sync serve -port 8085
31+
./itemize serve -port 8085
3232
```
3333

3434
### Test
@@ -230,7 +230,7 @@ This gives us clean code with proper level-based filtering instead of scattered
230230
## File Organization
231231

232232
### Where Things Live
233-
- **Entry point:** [cmd/monarch-sync/main.go](cmd/monarch-sync/main.go)
233+
- **Entry point:** [cmd/itemize/main.go](cmd/itemize/main.go)
234234
- **Business logic:** `internal/domain/`
235235
- **Workflow coordination:** `internal/application/sync/`
236236
- **External APIs:** `internal/adapters/`
@@ -388,7 +388,7 @@ See [internal/infrastructure/storage/sqlite.go](internal/infrastructure/storage/
388388
## Project Scope
389389

390390
-**CLI tool** - Primary command-line interface
391-
-**API server** - HTTP endpoints for programmatic access (`./monarch-sync serve`)
391+
-**API server** - HTTP endpoints for programmatic access (`./itemize serve`)
392392
-**NOT a Chrome extension** - Direct provider API integration
393393
-**NOT a SaaS** - Local deployment only
394394
-**NOT real-time** - Manual runs or scheduled via cron

Makefile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Variables
2-
BINARY_NAME=monarch-sync
2+
BINARY_NAME=itemize
33
GO_FILES=$(shell find . -name '*.go' -type f -not -path "./vendor/*")
44
COVERAGE_FILE=coverage.out
55
COVERAGE_HTML=coverage.html
@@ -33,7 +33,7 @@ all: pre-commit build
3333
## build: Build the CLI binary
3434
build:
3535
@echo "$(GREEN)Building $(BINARY_NAME)...$(NC)"
36-
$(GOBUILD) -v -o $(BINARY_NAME) ./cmd/monarch-sync
36+
$(GOBUILD) -v -o $(BINARY_NAME) ./cmd/itemize
3737
@echo "$(GREEN)Build complete!$(NC)"
3838

3939
## clean: Remove build artifacts and temporary files
@@ -96,11 +96,11 @@ pre-commit: fmt vet test
9696
release:
9797
@echo "$(GREEN)Building release binaries...$(NC)"
9898
@mkdir -p dist
99-
GOOS=darwin GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/monarch-sync
100-
GOOS=darwin GOARCH=arm64 $(GOBUILD) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/monarch-sync
101-
GOOS=linux GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/monarch-sync
102-
GOOS=linux GOARCH=arm64 $(GOBUILD) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/monarch-sync
103-
GOOS=windows GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/monarch-sync
99+
GOOS=darwin GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/itemize
100+
GOOS=darwin GOARCH=arm64 $(GOBUILD) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/itemize
101+
GOOS=linux GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/itemize
102+
GOOS=linux GOARCH=arm64 $(GOBUILD) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/itemize
103+
GOOS=windows GOARCH=amd64 $(GOBUILD) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/itemize
104104
@echo "$(GREEN)Release binaries built in dist/$(NC)"
105105

106106
## version: Display version information
@@ -114,7 +114,7 @@ version:
114114
## run-costco: Run Costco sync in dry-run mode (safe testing)
115115
run-costco:
116116
@echo "$(GREEN)Running Costco sync (dry-run)...$(NC)"
117-
$(GOCMD) run ./cmd/monarch-sync costco -dry-run -verbose
117+
$(GOCMD) run ./cmd/itemize costco -dry-run -verbose
118118

119119
## install-tools: Install development tools (goimports)
120120
install-tools:

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Monarch Money Sync
1+
# Itemize
22

33
CLI tool that syncs purchases from Walmart, Costco, and Amazon with Monarch Money. Automatically splits transactions by category using AI.
44

@@ -28,7 +28,7 @@ CLI tool that syncs purchases from Walmart, Costco, and Amazon with Monarch Mone
2828
```bash
2929
git clone https://github.com/eshaffer321/itemize
3030
cd itemize
31-
go build -o monarch-sync ./cmd/monarch-sync/
31+
go build -o itemize ./cmd/itemize/
3232
```
3333

3434
### Configure
@@ -56,14 +56,14 @@ storage:
5656
5757
```bash
5858
# Preview changes (dry run)
59-
./monarch-sync walmart -dry-run -days 14
60-
./monarch-sync costco -dry-run -days 7
61-
./monarch-sync amazon -dry-run -days 7
59+
./itemize walmart -dry-run -days 14
60+
./itemize costco -dry-run -days 7
61+
./itemize amazon -dry-run -days 7
6262

6363
# Apply changes
64-
./monarch-sync walmart -days 14
65-
./monarch-sync costco -days 7
66-
./monarch-sync amazon -days 7
64+
./itemize walmart -days 14
65+
./itemize costco -days 7
66+
./itemize amazon -days 7
6767
```
6868

6969
### Flags
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func main() {
106106
}
107107

108108
func printUsage() {
109-
fmt.Println("Usage: monarch-sync <command> [flags]")
109+
fmt.Println("Usage: itemize <command> [flags]")
110110
fmt.Println()
111111
fmt.Println("Commands:")
112112
fmt.Println(" serve Start the API server")

docs/LOGGER_ROLLOUT.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ go mod tidy
104104
Once all three projects are updated, you'll see consistent logging:
105105

106106
```
107-
monarch-sync: Costco (PRODUCTION mode)
107+
itemize: Costco (PRODUCTION mode)
108108
Database: monarch_sync.db
109109
Provider: Costco | Lookback: 17 days
110110
@@ -162,10 +162,10 @@ After updating each library:
162162
After integrating in monarchmoney-sync-backend:
163163

164164
- [ ] Build succeeds
165-
- [ ] `./monarch-sync costco -dry-run -days 7 -verbose` shows consistent logs
166-
- [ ] `./monarch-sync walmart -dry-run -days 7 -verbose` shows consistent logs
165+
- [ ] `./itemize costco -dry-run -days 7 -verbose` shows consistent logs
166+
- [ ] `./itemize walmart -dry-run -days 7 -verbose` shows consistent logs
167167
- [ ] Colors appear in terminal
168-
- [ ] No colors when piping: `./monarch-sync costco -verbose 2>&1 | cat`
168+
- [ ] No colors when piping: `./itemize costco -verbose 2>&1 | cat`
169169

170170
## Documentation
171171

docs/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ This provides flexibility without full hexagonal overhead.
254254
- Created `internal/adapters/` for external integrations
255255
- Moved `internal/providers/``internal/adapters/providers/`
256256
- Moved `internal/clients/``internal/adapters/clients/`
257-
- Moved CLI from `cmd/monarch-sync/cli/``internal/cli/`
257+
- Moved CLI from `cmd/itemize/cli/``internal/cli/`
258258

259259
**Key Improvements:**
260260
- Fixed broken module paths and imports

docs/deduplication-safety.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Only `success` status prevents reprocessing:
106106
The `--force` flag **bypasses Layer 1 only**:
107107

108108
```bash
109-
./monarch-sync walmart sync --force
109+
./itemize walmart sync --force
110110
```
111111

112112
**What it does:**
@@ -204,10 +204,10 @@ WHERE provider = 'unknown' AND status = 'success';
204204
### Test 1: Database Protection
205205
```bash
206206
# Process an order
207-
./monarch-sync walmart sync --dry-run=false
207+
./itemize walmart sync --dry-run=false
208208

209209
# Try again (should skip)
210-
./monarch-sync walmart sync --dry-run=false
210+
./itemize walmart sync --dry-run=false
211211
# Output: "Skipping already processed order"
212212
```
213213

@@ -217,14 +217,14 @@ WHERE provider = 'unknown' AND status = 'success';
217217
rm monarch_sync.db
218218

219219
# Re-run sync
220-
./monarch-sync walmart sync --dry-run=false
220+
./itemize walmart sync --dry-run=false
221221
# Output: "Transaction already has splits" (Layer 2 kicks in)
222222
```
223223

224224
### Test 3: Force Flag
225225
```bash
226226
# Force reprocess
227-
./monarch-sync walmart sync --force
227+
./itemize walmart sync --force
228228
# Output: "Transaction already has splits" (Layer 2 still protects)
229229
```
230230

docs/design-migrations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ func NewStorage(dbPath string) (*Storage, error) {
361361

362362
```bash
363363
rm monarch_sync.db
364-
./monarch-sync walmart -dry-run -days 7
364+
./itemize walmart -dry-run -days 7
365365
sqlite3 monarch_sync.db "SELECT * FROM schema_migrations"
366366
# Should show: 1, 2, 3
367367
```
@@ -370,7 +370,7 @@ sqlite3 monarch_sync.db "SELECT * FROM schema_migrations"
370370

371371
```bash
372372
# Use existing monarch_sync.db
373-
./monarch-sync walmart -dry-run -days 7
373+
./itemize walmart -dry-run -days 7
374374
sqlite3 monarch_sync.db "SELECT * FROM schema_migrations"
375375
# Should show: 1, 2, 3
376376
# processing_records should be unchanged
@@ -381,7 +381,7 @@ sqlite3 monarch_sync.db "SELECT * FROM schema_migrations"
381381
```bash
382382
# Manually create schema_migrations and add version 1 and 2
383383
sqlite3 monarch_sync.db "INSERT INTO schema_migrations (version, name) VALUES (1, 'initial'), (2, 'sync_runs')"
384-
./monarch-sync walmart -dry-run -days 7
384+
./itemize walmart -dry-run -days 7
385385
sqlite3 monarch_sync.db "SELECT * FROM schema_migrations"
386386
# Should show: 1, 2, 3 (only ran migration 3)
387387
```

docs/logging.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,13 @@ Use the `-verbose` flag to see detailed logs:
141141

142142
```bash
143143
# Minimal output
144-
./monarch-sync costco -days 14
144+
./itemize costco -days 14
145145

146146
# Verbose output (shows all INFO logs)
147-
./monarch-sync costco -days 14 -verbose
147+
./itemize costco -days 14 -verbose
148148

149149
# Debug output (shows DEBUG logs too)
150-
LOG_LEVEL=debug ./monarch-sync costco -days 14 -verbose
150+
LOG_LEVEL=debug ./itemize costco -days 14 -verbose
151151
```
152152

153153
## Implementation Details

0 commit comments

Comments
 (0)