appydave-tools 0.16.0 → 0.17.0

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/AGENTS.md +22 -0
  4. data/CHANGELOG.md +12 -0
  5. data/CLAUDE.md +206 -51
  6. data/README.md +144 -11
  7. data/bin/archive_project.rb +249 -0
  8. data/bin/configuration.rb +21 -1
  9. data/bin/generate_manifest.rb +357 -0
  10. data/bin/sync_from_ssd.rb +236 -0
  11. data/bin/vat +623 -0
  12. data/docs/README.md +169 -0
  13. data/docs/configuration/.env.example +19 -0
  14. data/docs/configuration/README.md +394 -0
  15. data/docs/configuration/channels.example.json +26 -0
  16. data/docs/configuration/settings.example.json +6 -0
  17. data/docs/development/CODEX-recommendations.md +123 -0
  18. data/docs/development/README.md +100 -0
  19. data/docs/development/cli-architecture-patterns.md +1604 -0
  20. data/docs/development/pattern-comparison.md +284 -0
  21. data/docs/prd-unified-brands-configuration.md +792 -0
  22. data/docs/project-brand-systems-analysis.md +934 -0
  23. data/docs/vat/dam-vision.md +123 -0
  24. data/docs/vat/session-summary-2025-11-09.md +297 -0
  25. data/docs/vat/usage.md +508 -0
  26. data/docs/vat/vat-testing-plan.md +801 -0
  27. data/lib/appydave/tools/configuration/models/brands_config.rb +238 -0
  28. data/lib/appydave/tools/configuration/models/config_base.rb +7 -0
  29. data/lib/appydave/tools/configuration/models/settings_config.rb +4 -0
  30. data/lib/appydave/tools/vat/config.rb +153 -0
  31. data/lib/appydave/tools/vat/config_loader.rb +91 -0
  32. data/lib/appydave/tools/vat/manifest_generator.rb +239 -0
  33. data/lib/appydave/tools/vat/project_listing.rb +198 -0
  34. data/lib/appydave/tools/vat/project_resolver.rb +132 -0
  35. data/lib/appydave/tools/vat/s3_operations.rb +560 -0
  36. data/lib/appydave/tools/version.rb +1 -1
  37. data/lib/appydave/tools.rb +9 -1
  38. data/package.json +1 -1
  39. metadata +57 -3
  40. data/docs/dam/overview.md +0 -28
data/docs/README.md ADDED
@@ -0,0 +1,169 @@
1
+ # AppyDave Tools Documentation
2
+
3
+ **Welcome to the AppyDave Tools documentation!**
4
+
5
+ This directory contains comprehensive documentation for all tools, features, and development guides.
6
+
7
+ ---
8
+
9
+ ## 📚 Quick Navigation
10
+
11
+ ### User Documentation
12
+
13
+ - **[VAT (Video Asset Tools)](./vat/)** - Video project storage orchestration
14
+ - [Usage Guide](./vat/usage.md) - Complete usage reference
15
+ - [Testing Plan](./vat/vat-testing-plan.md) - User acceptance testing
16
+ - [Implementation Status](./vat/vat-implementation-status.md) - Feature matrix
17
+ - [Integration Plan](./vat/vat-integration-plan.md) - Migration details
18
+ - [Refactoring Summary](./vat/vat-refactoring-summary.md) - Architecture changes
19
+
20
+ - **[Tools](./tools/)** - Individual tool documentation
21
+ - GPT Context Gatherer
22
+ - YouTube Manager
23
+ - Subtitle Processor
24
+ - Configuration Management
25
+ - And more...
26
+
27
+ ### Developer Documentation
28
+
29
+ - **[Development Guides](./development/)** - How to build tools
30
+ - [CLI Architecture Patterns](./development/cli-architecture-patterns.md) - Pattern reference
31
+ - [Pattern Comparison](./development/pattern-comparison.md) - Visual guide
32
+ - [Quick Reference](./development/README.md) - Fast pattern selection
33
+
34
+ ### System Documentation
35
+
36
+ - **[Project & Brand Systems Analysis](./project-brand-systems-analysis.md)** - Deep dive into overlapping systems
37
+ - VAT system (storage orchestration)
38
+ - Channels configuration (YouTube metadata)
39
+ - NameManager (naming conventions)
40
+ - Integration points and recommendations
41
+
42
+ ### Archive
43
+
44
+ - **[Archive](./archive/)** - Deprecated documentation
45
+ - Old versions of documentation
46
+ - Historical reference material
47
+
48
+ ---
49
+
50
+ ## 🎯 Common Tasks
51
+
52
+ ### "I want to use a tool"
53
+ → See individual tool documentation in [`tools/`](./tools/) or [`vat/`](./vat/)
54
+
55
+ ### "I want to build a new tool"
56
+ → Start with [`development/README.md`](./development/README.md) for CLI pattern selection
57
+
58
+ ### "I want to understand the architecture"
59
+ → Read [`development/cli-architecture-patterns.md`](./development/cli-architecture-patterns.md)
60
+
61
+ ### "I want to understand how systems relate"
62
+ → Read [`project-brand-systems-analysis.md`](./project-brand-systems-analysis.md)
63
+
64
+ ---
65
+
66
+ ## 📂 Directory Structure
67
+
68
+ ```
69
+ docs/
70
+ ├── README.md (this file) # Documentation index
71
+ ├── project-brand-systems-analysis.md # System overlap analysis
72
+
73
+ ├── vat/ # VAT documentation
74
+ │ ├── usage.md # User guide
75
+ │ ├── vat-testing-plan.md # Testing guide
76
+ │ ├── vat-implementation-status.md # Feature status
77
+ │ ├── vat-integration-plan.md # Integration details
78
+ │ └── vat-refactoring-summary.md # Architecture changes
79
+
80
+ ├── tools/ # Individual tool docs
81
+ │ ├── gpt-context.md
82
+ │ ├── youtube-manager.md
83
+ │ ├── subtitle-processor.md
84
+ │ └── ... (more tools)
85
+
86
+ ├── development/ # Developer guides
87
+ │ ├── README.md # Quick reference
88
+ │ ├── cli-architecture-patterns.md # Pattern guide
89
+ │ └── pattern-comparison.md # Visual comparison
90
+
91
+ └── archive/ # Old documentation
92
+ └── ... (deprecated docs)
93
+ ```
94
+
95
+ ---
96
+
97
+ ## 🔍 Finding What You Need
98
+
99
+ ### By Tool Name
100
+
101
+ | Tool | Documentation |
102
+ |------|---------------|
103
+ | **VAT** | [`vat/usage.md`](./vat/usage.md) |
104
+ | **GPT Context** | [`tools/gpt-context.md`](./tools/gpt-context.md) |
105
+ | **YouTube Manager** | [`tools/youtube-manager.md`](./tools/youtube-manager.md) |
106
+ | **Subtitle Processor** | [`tools/subtitle-processor.md`](./tools/subtitle-processor.md) |
107
+ | **Configuration** | [`tools/configuration.md`](./tools/configuration.md) |
108
+
109
+ ### By Task
110
+
111
+ | Task | Documentation |
112
+ |------|---------------|
113
+ | **Video storage management** | [`vat/usage.md`](./vat/usage.md) |
114
+ | **S3 sync for collaboration** | [`vat/usage.md`](./vat/usage.md) |
115
+ | **Gather AI context** | [`tools/gpt-context.md`](./tools/gpt-context.md) |
116
+ | **Manage YouTube videos** | [`tools/youtube-manager.md`](./tools/youtube-manager.md) |
117
+ | **Process subtitles** | [`tools/subtitle-processor.md`](./tools/subtitle-processor.md) |
118
+ | **Build new CLI tool** | [`development/cli-architecture-patterns.md`](./development/cli-architecture-patterns.md) |
119
+
120
+ ### By Audience
121
+
122
+ | Audience | Start Here |
123
+ |----------|------------|
124
+ | **End Users** | Individual tool docs in [`tools/`](./tools/) or [`vat/`](./vat/) |
125
+ | **Developers** | [`development/README.md`](./development/README.md) |
126
+ | **Contributors** | [`development/cli-architecture-patterns.md`](./development/cli-architecture-patterns.md) |
127
+ | **Architects** | [`project-brand-systems-analysis.md`](./project-brand-systems-analysis.md) |
128
+
129
+ ---
130
+
131
+ ## 🆕 Recently Added
132
+
133
+ - **2025-11-09**: VAT refactoring to Pattern 2 architecture
134
+ - **2025-11-09**: CLI architecture patterns documentation
135
+ - **2025-11-09**: Project & brand systems analysis
136
+ - **2025-11-08**: VAT integration into appydave-tools
137
+
138
+ ---
139
+
140
+ ## 📝 Documentation Standards
141
+
142
+ All documentation in this repository follows the [AI Conventions](../../.ai-conventions.md):
143
+
144
+ - **File naming**: `kebab-case` for all markdown files
145
+ - **Exceptions**: `README.md`, `CHANGELOG.md`, `CLAUDE.md` (uppercase allowed)
146
+ - **Location**: Organized by category in subdirectories
147
+ - **Cross-referencing**: Relative links between documents
148
+
149
+ ---
150
+
151
+ ## 🤝 Contributing
152
+
153
+ When adding new documentation:
154
+
155
+ 1. **Choose the right location**:
156
+ - Tool documentation → `tools/`
157
+ - VAT-specific → `vat/`
158
+ - Developer guides → `development/`
159
+ - System analysis → root of `docs/`
160
+
161
+ 2. **Use kebab-case** for filenames (e.g., `my-new-tool.md`)
162
+
163
+ 3. **Update this index** with a link to your new document
164
+
165
+ 4. **Follow existing patterns** - check similar docs for style guidance
166
+
167
+ ---
168
+
169
+ **Last updated**: 2025-11-09
@@ -0,0 +1,19 @@
1
+ # AppyDave Tools Environment Configuration
2
+ # Copy this to .env in your project root and fill in your values
3
+
4
+ # ============================================================================
5
+ # SECRETS - NEVER commit the actual .env file to version control!
6
+ # ============================================================================
7
+
8
+ # OpenAI API Configuration (required for prompt_tools and youtube_automation)
9
+ # Get your API key from: https://platform.openai.com/api-keys
10
+ OPENAI_ACCESS_TOKEN=sk-your-api-key-here
11
+ OPENAI_ORGANIZATION_ID=org-your-org-id-here
12
+
13
+ # ============================================================================
14
+ # OPTIONAL SETTINGS
15
+ # ============================================================================
16
+
17
+ # Enable OpenAI tools (set to 'true' to enable)
18
+ # When enabled, OpenAI API will be configured for prompt_tools
19
+ TOOLS_ENABLED=false
@@ -0,0 +1,394 @@
1
+ # AppyDave Tools Configuration Guide
2
+
3
+ This guide explains how to configure AppyDave Tools for your environment.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Quick Start](#quick-start)
8
+ - [Configuration Files](#configuration-files)
9
+ - [settings.json](#settingsjson)
10
+ - [channels.json](#channelsjson)
11
+ - [.env](#env)
12
+ - [Configuration Commands](#configuration-commands)
13
+ - [Migration from Legacy Config](#migration-from-legacy-config)
14
+
15
+ ---
16
+
17
+ ## Quick Start
18
+
19
+ ### 1. Create Default Configuration Files
20
+
21
+ ```bash
22
+ ad_config -c
23
+ ```
24
+
25
+ This creates empty configuration files at `~/.config/appydave/`:
26
+ - `settings.json` - Paths and preferences
27
+ - `channels.json` - YouTube channel definitions
28
+ - `youtube-automation.json` - Automation workflows
29
+
30
+ ### 2. Option A: Copy Example Files
31
+
32
+ ```bash
33
+ # Copy examples to your config directory
34
+ cp docs/configuration/settings.example.json ~/.config/appydave/settings.json
35
+ cp docs/configuration/channels.example.json ~/.config/appydave/channels.json
36
+
37
+ # Copy .env to project root
38
+ cp docs/configuration/.env.example .env
39
+ ```
40
+
41
+ Then edit each file and replace placeholders with your actual values.
42
+
43
+ ### 2. Option B: Edit Directly in VS Code
44
+
45
+ ```bash
46
+ ad_config -e
47
+ ```
48
+
49
+ Opens `~/.config/appydave/` in VS Code for editing.
50
+
51
+ ### 3. Add Your Values
52
+
53
+ Update the configuration files with your specific paths and settings.
54
+
55
+ **Required for VAT (Video Asset Tools):**
56
+ ```json
57
+ {
58
+ "video-projects-root": "/path/to/your/video-projects"
59
+ }
60
+ ```
61
+
62
+ **Required for OpenAI tools:**
63
+ ```bash
64
+ OPENAI_ACCESS_TOKEN=sk-your-actual-api-key
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Configuration Files
70
+
71
+ ### `settings.json`
72
+
73
+ **Location:** `~/.config/appydave/settings.json`
74
+
75
+ **Purpose:** Stores paths and preferences (non-secret configuration)
76
+
77
+ **Example:**
78
+ ```json
79
+ {
80
+ "video-projects-root": "/Users/yourname/dev/video-projects",
81
+ "ecamm-recording-folder": "/Users/yourname/ecamm",
82
+ "download-folder": "/Users/yourname/Downloads",
83
+ "download-image-folder": "/Users/yourname/Downloads/images"
84
+ }
85
+ ```
86
+
87
+ **Settings Reference:**
88
+
89
+ | Key | Purpose | Used By | Required |
90
+ |-----|---------|---------|----------|
91
+ | `video-projects-root` | Root directory for all video projects | VAT commands | ✅ For VAT |
92
+ | `ecamm-recording-folder` | Where Ecamm Live saves recordings | Move Images | Optional |
93
+ | `download-folder` | General downloads directory | Move Images | Optional |
94
+ | `download-image-folder` | Image downloads (defaults to `download-folder`) | Move Images | Optional |
95
+
96
+ **Safe to:**
97
+ - ✅ Version control (after removing personal paths)
98
+ - ✅ Share with team (as template)
99
+ - ✅ Commit to git (as `.example` file)
100
+
101
+ ---
102
+
103
+ ### `channels.json`
104
+
105
+ **Location:** `~/.config/appydave/channels.json`
106
+
107
+ **Purpose:** Defines YouTube channels and their project locations
108
+
109
+ **Example:**
110
+ ```json
111
+ {
112
+ "channels": {
113
+ "appydave": {
114
+ "code": "ad",
115
+ "name": "AppyDave",
116
+ "youtube_handle": "@appydave",
117
+ "locations": {
118
+ "content_projects": "/path/to/content",
119
+ "video_projects": "/Users/yourname/dev/video-projects/v-appydave",
120
+ "published_projects": "/path/to/published",
121
+ "abandoned_projects": "/path/to/abandoned"
122
+ }
123
+ }
124
+ }
125
+ }
126
+ ```
127
+
128
+ **Channel Properties:**
129
+
130
+ | Property | Description | Example |
131
+ |----------|-------------|---------|
132
+ | `key` | Internal identifier (object key) | `"appydave"` |
133
+ | `code` | Short code for project naming | `"ad"` |
134
+ | `name` | Display name | `"AppyDave"` |
135
+ | `youtube_handle` | YouTube @ handle | `"@appydave"` |
136
+
137
+ **Location Properties:**
138
+
139
+ | Location | Purpose | Can Use "NOT-SET" |
140
+ |----------|---------|-------------------|
141
+ | `content_projects` | Content planning/scripts | ✅ Yes |
142
+ | `video_projects` | Active video projects | ❌ No (required) |
143
+ | `published_projects` | Published video archives | ✅ Yes |
144
+ | `abandoned_projects` | Abandoned projects | ✅ Yes |
145
+
146
+ **Using "NOT-SET":**
147
+
148
+ If you don't have a location configured yet, use `"NOT-SET"` as a placeholder:
149
+
150
+ ```json
151
+ "content_projects": "NOT-SET"
152
+ ```
153
+
154
+ This makes it clear that the value needs to be configured later.
155
+
156
+ **Safe to:**
157
+ - ✅ Version control structure (remove personal paths first)
158
+ - ⚠️ Each developer customizes paths locally
159
+ - ✅ Share channel definitions (codes, names, handles)
160
+
161
+ ---
162
+
163
+ ### `.env`
164
+
165
+ **Location:** `.env` (project root directory)
166
+
167
+ **Purpose:** Stores secrets and API keys
168
+
169
+ **⚠️ CRITICAL: This file is gitignored and should NEVER be committed!**
170
+
171
+ **Example:**
172
+ ```bash
173
+ # OpenAI API Configuration
174
+ OPENAI_ACCESS_TOKEN=sk-your-actual-api-key-here
175
+ OPENAI_ORGANIZATION_ID=org-your-actual-org-id
176
+
177
+ # Optional: Enable OpenAI tools
178
+ TOOLS_ENABLED=true
179
+ ```
180
+
181
+ **Environment Variables:**
182
+
183
+ | Variable | Purpose | Required For | Secret? |
184
+ |----------|---------|--------------|---------|
185
+ | `OPENAI_ACCESS_TOKEN` | OpenAI API key | prompt_tools, youtube_automation | ✅ SECRET |
186
+ | `OPENAI_ORGANIZATION_ID` | OpenAI org ID | prompt_tools, youtube_automation | ✅ SECRET |
187
+ | `TOOLS_ENABLED` | Enable OpenAI configuration | Optional | ❌ No |
188
+
189
+ **Getting API Keys:**
190
+ - OpenAI: https://platform.openai.com/api-keys
191
+
192
+ **Safe to:**
193
+ - ❌ NEVER version control
194
+ - ❌ NEVER share
195
+ - ❌ NEVER commit to git
196
+ - ✅ Keep local only
197
+ - ✅ Share `.env.example` template
198
+
199
+ ---
200
+
201
+ ## Configuration Commands
202
+
203
+ ### List All Configurations
204
+
205
+ ```bash
206
+ ad_config -l
207
+ ```
208
+
209
+ Shows which configuration files exist and their paths.
210
+
211
+ **Example Output:**
212
+ ```
213
+ NAME | EXISTS | PATH
214
+ -------------------|--------|------------------------------------------------------------
215
+ settings | true | /Users/yourname/.config/appydave/settings.json
216
+ channels | true | /Users/yourname/.config/appydave/channels.json
217
+ youtube_automation | true | /Users/yourname/.config/appydave/youtube-automation.json
218
+ ```
219
+
220
+ ### Create Missing Configurations
221
+
222
+ ```bash
223
+ ad_config -c
224
+ ```
225
+
226
+ Creates any configuration files that don't exist yet.
227
+
228
+ **Safety:** This command will NOT overwrite existing files. It only creates missing ones.
229
+
230
+ ### Print Configuration Values
231
+
232
+ ```bash
233
+ # Print all configurations
234
+ ad_config -p
235
+
236
+ # Print specific configurations
237
+ ad_config -p settings
238
+ ad_config -p channels
239
+ ad_config -p settings,channels
240
+ ```
241
+
242
+ Shows the current values in your configuration files.
243
+
244
+ ### Edit in VS Code
245
+
246
+ ```bash
247
+ ad_config -e
248
+ ```
249
+
250
+ Opens the configuration directory (`~/.config/appydave/`) in Visual Studio Code.
251
+
252
+ ---
253
+
254
+ ## Migration from Legacy Config
255
+
256
+ ### From `~/.vat-config` (Deprecated)
257
+
258
+ If you have an old `~/.vat-config` file, migrate to `settings.json`:
259
+
260
+ **Old format** (`~/.vat-config`):
261
+ ```
262
+ VIDEO_PROJECTS_ROOT=/Users/yourname/dev/video-projects
263
+ ```
264
+
265
+ **New format** (`~/.config/appydave/settings.json`):
266
+ ```json
267
+ {
268
+ "video-projects-root": "/Users/yourname/dev/video-projects"
269
+ }
270
+ ```
271
+
272
+ **Migration steps:**
273
+
274
+ 1. Check your current VAT config:
275
+ ```bash
276
+ cat ~/.vat-config
277
+ ```
278
+
279
+ 2. Add the value to settings.json:
280
+ ```bash
281
+ ad_config -e
282
+ ```
283
+
284
+ 3. In `settings.json`, add:
285
+ ```json
286
+ "video-projects-root": "/your/path/from/vat/config"
287
+ ```
288
+
289
+ 4. Test that VAT still works:
290
+ ```bash
291
+ vat list
292
+ ```
293
+
294
+ 5. Delete the old file:
295
+ ```bash
296
+ rm ~/.vat-config
297
+ ```
298
+
299
+ **Note:** The `vat init` command is deprecated. Use `ad_config` instead.
300
+
301
+ ---
302
+
303
+ ## Backup & Recovery
304
+
305
+ ### Automatic Backups
306
+
307
+ Every time you save a configuration, a timestamped backup is created automatically:
308
+
309
+ ```
310
+ ~/.config/appydave/settings.json.backup.20251109-203015
311
+ ```
312
+
313
+ **Backup format:** `filename.backup.YYYYMMDD-HHMMSS`
314
+
315
+ ### Restoring from Backup
316
+
317
+ ```bash
318
+ # List available backups
319
+ ls -la ~/.config/appydave/*.backup.*
320
+
321
+ # Restore from backup
322
+ cp ~/.config/appydave/settings.json.backup.20251109-203015 \
323
+ ~/.config/appydave/settings.json
324
+ ```
325
+
326
+ ---
327
+
328
+ ## Troubleshooting
329
+
330
+ ### "VIDEO_PROJECTS_ROOT not configured" Error
331
+
332
+ **Problem:** VAT commands fail with configuration error.
333
+
334
+ **Solution:**
335
+ ```bash
336
+ ad_config -e
337
+ ```
338
+
339
+ Add to `settings.json`:
340
+ ```json
341
+ {
342
+ "video-projects-root": "/path/to/your/video-projects"
343
+ }
344
+ ```
345
+
346
+ ### Configuration Files Missing
347
+
348
+ **Problem:** Configuration files don't exist.
349
+
350
+ **Solution:**
351
+ ```bash
352
+ ad_config -c
353
+ ```
354
+
355
+ This creates default empty configuration files.
356
+
357
+ ### OpenAI API Errors
358
+
359
+ **Problem:** "OpenAI API key not configured"
360
+
361
+ **Solution:**
362
+
363
+ 1. Create `.env` file in project root:
364
+ ```bash
365
+ cp docs/configuration/.env.example .env
366
+ ```
367
+
368
+ 2. Add your API key:
369
+ ```bash
370
+ OPENAI_ACCESS_TOKEN=sk-your-actual-key
371
+ OPENAI_ORGANIZATION_ID=org-your-org-id
372
+ TOOLS_ENABLED=true
373
+ ```
374
+
375
+ 3. Never commit `.env` to git (it's gitignored by default)
376
+
377
+ ---
378
+
379
+ ## Best Practices
380
+
381
+ 1. **Use `ad_config -c` for initialization** - It's safe and won't overwrite existing files
382
+ 2. **Use "NOT-SET" for unconfigured paths** - Makes it clear what needs to be set
383
+ 3. **Keep secrets in `.env`** - Never put API keys in `settings.json`
384
+ 4. **Backup before major changes** - Automatic backups are created, but you can manually backup too
385
+ 5. **Use `ad_config -p` to verify** - Check your configuration values are correct
386
+ 6. **Share examples, not actual configs** - Use `.example` files for team sharing
387
+
388
+ ---
389
+
390
+ ## Need Help?
391
+
392
+ - Check CLAUDE.md for project-specific configuration
393
+ - Run `ad_config --help` for command options
394
+ - See example files in `docs/configuration/`
@@ -0,0 +1,26 @@
1
+ {
2
+ "channels": {
3
+ "your-channel-key": {
4
+ "code": "yc",
5
+ "name": "Your Channel Name",
6
+ "youtube_handle": "@yourhandle",
7
+ "locations": {
8
+ "content_projects": "/path/to/content/projects",
9
+ "video_projects": "/path/to/video/projects",
10
+ "published_projects": "/path/to/published/projects",
11
+ "abandoned_projects": "/path/to/abandoned/projects"
12
+ }
13
+ },
14
+ "second-channel": {
15
+ "code": "sc",
16
+ "name": "Second Channel",
17
+ "youtube_handle": "@secondchannel",
18
+ "locations": {
19
+ "content_projects": "NOT-SET",
20
+ "video_projects": "/path/to/video-projects/v-second-channel",
21
+ "published_projects": "NOT-SET",
22
+ "abandoned_projects": "NOT-SET"
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "video-projects-root": "/Users/YOUR_USERNAME/dev/video-projects",
3
+ "ecamm-recording-folder": "/Users/YOUR_USERNAME/ecamm",
4
+ "download-folder": "/Users/YOUR_USERNAME/Downloads",
5
+ "download-image-folder": "/Users/YOUR_USERNAME/Downloads/images"
6
+ }