vibefast-cli 0.2.2 → 0.2.3

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 (97) hide show
  1. package/DOCS-CLEANUP-SUMMARY.md +140 -0
  2. package/DOCS.md +141 -0
  3. package/IMPLEMENTATION-COMPLETE.md +6 -5
  4. package/MANUAL-STEPS-GUIDE.md +385 -0
  5. package/MANUAL-STEPS-USER-FLOW.md +231 -0
  6. package/PLAN-VS-IMPLEMENTATION.md +248 -0
  7. package/PUBLISHED-0.2.2.md +65 -0
  8. package/README.md +24 -2
  9. package/START-HERE.md +115 -0
  10. package/docs/next-steps.md +12 -0
  11. package/package.json +10 -1
  12. package/recipes/audio-recorder@latest.zip +0 -0
  13. package/recipes/charts/apps/native/src/app/charts/index.tsx +3 -0
  14. package/recipes/charts/apps/native/src/features/charts/app/preview.tsx +3 -0
  15. package/recipes/charts/apps/native/src/features/charts/components/area-chart.tsx +3 -0
  16. package/recipes/charts/apps/native/src/features/charts/components/bar-chart.tsx +3 -0
  17. package/recipes/charts/apps/native/src/features/charts/components/candlestick-chart.tsx +3 -0
  18. package/recipes/charts/apps/native/src/features/charts/components/chart-card.tsx +3 -0
  19. package/recipes/charts/apps/native/src/features/charts/components/column-chart.tsx +3 -0
  20. package/recipes/charts/apps/native/src/features/charts/components/doughnut-chart.tsx +3 -0
  21. package/recipes/charts/apps/native/src/features/charts/components/index.ts +3 -0
  22. package/recipes/charts/apps/native/src/features/charts/components/line-chart.tsx +3 -0
  23. package/recipes/charts/apps/native/src/features/charts/components/radar-chart.tsx +3 -0
  24. package/recipes/charts/apps/native/src/features/charts/components/radial-bar-chart.tsx +3 -0
  25. package/recipes/charts/apps/native/src/features/charts/components/stacked-area-chart.tsx +3 -0
  26. package/recipes/charts/apps/native/src/features/charts/components/stacked-bar-chart.tsx +3 -0
  27. package/recipes/charts/apps/native/src/features/charts/data/mock-data.ts +3 -0
  28. package/recipes/charts/apps/native/src/features/charts/types/index.ts +3 -0
  29. package/recipes/charts/recipe.json +7 -1
  30. package/recipes/charts@latest.zip +0 -0
  31. package/recipes/chatbot/apps/native/src/app/chatbot/index.tsx +1 -0
  32. package/recipes/chatbot/apps/native/src/features/chatbot/app/index.tsx +1 -0
  33. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-header-buttons.tsx +1 -0
  34. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-input-bar.tsx +1 -0
  35. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-markdown.tsx +1 -0
  36. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-message-bubble.tsx +1 -0
  37. package/recipes/chatbot/apps/native/src/features/chatbot/components/chat-settings-modal.tsx +1 -0
  38. package/recipes/chatbot/apps/native/src/features/chatbot/components/image-preview-list.tsx +1 -0
  39. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/code-block.tsx +1 -0
  40. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/index.ts +1 -0
  41. package/recipes/chatbot/apps/native/src/features/chatbot/components/markdown/table-renderer.tsx +1 -0
  42. package/recipes/chatbot/apps/native/src/features/chatbot/components/message-error-boundary.tsx +1 -0
  43. package/recipes/chatbot/apps/native/src/features/chatbot/components/message-list.tsx +1 -0
  44. package/recipes/chatbot/apps/native/src/features/chatbot/components/model-selector.tsx +1 -0
  45. package/recipes/chatbot/apps/native/src/features/chatbot/components/report-content-modal.tsx +1 -0
  46. package/recipes/chatbot/apps/native/src/features/chatbot/components/suggested-messages.tsx +1 -0
  47. package/recipes/chatbot/apps/native/src/features/chatbot/constants/models.ts +1 -0
  48. package/recipes/chatbot/apps/native/src/features/chatbot/constants/report-reasons.ts +1 -0
  49. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-attachment-cache.ts +1 -0
  50. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chat-config.ts +1 -0
  51. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chat-handlers.ts +1 -0
  52. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-chatbot-settings.ts +1 -0
  53. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-conversation.ts +1 -0
  54. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-image-picker.ts +1 -0
  55. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-keyboard-coordinator.ts +1 -0
  56. package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-smart-scroll-manager.ts +1 -0
  57. package/recipes/chatbot/apps/native/src/features/chatbot/models/index.ts +1 -0
  58. package/recipes/chatbot/apps/native/src/features/chatbot/models/models.ts +1 -0
  59. package/recipes/chatbot/apps/native/src/features/chatbot/models/providers.ts +1 -0
  60. package/recipes/chatbot/apps/native/src/features/chatbot/models/types.ts +1 -0
  61. package/recipes/chatbot/apps/native/src/features/chatbot/services/file-uploader.ts +1 -0
  62. package/recipes/chatbot/apps/native/src/features/chatbot/services/message-handler-service.ts +1 -0
  63. package/recipes/chatbot/apps/native/src/features/chatbot/types/index.ts +1 -0
  64. package/recipes/chatbot/apps/native/src/features/chatbot/utils/chat-telemetry.ts +1 -0
  65. package/recipes/chatbot/packages/backend/convex/chatbot/index.ts +30 -0
  66. package/recipes/chatbot/recipe.json +16 -1
  67. package/recipes/chatbot@latest.zip +0 -0
  68. package/recipes/image-generator@latest.zip +0 -0
  69. package/recipes/quiz@latest.zip +0 -0
  70. package/recipes/tracker-app@latest.zip +0 -0
  71. package/recipes/voice-bot@latest.zip +0 -0
  72. package/scripts/create-recipes.mjs +33 -1
  73. package/MONITORING-AND-ANNOUNCEMENT-GUIDE.md +0 -669
  74. package/PRE-PUBLISH-CHECKLIST.md +0 -558
  75. package/PUBLISHED-SUCCESS.md +0 -282
  76. package/READY-TO-PUBLISH.md +0 -419
  77. package/RECIPES-READY.md +0 -172
  78. package/cloudflare-worker/mini-native@latest.zip +0 -0
  79. package/cloudflare-worker/test-recipe/apps/native/src/app/mini/index.tsx +0 -15
  80. package/cloudflare-worker/test-recipe/recipe.json +0 -16
  81. package/text.md +0 -27
  82. /package/{AUTO-DETECT-DEPS.md → docs/archive/AUTO-DETECT-DEPS.md} +0 -0
  83. /package/{FINAL-PACKAGE-STRATEGY.md → docs/archive/FINAL-PACKAGE-STRATEGY.md} +0 -0
  84. /package/{FINAL-SIMPLE-PLAN.md → docs/archive/FINAL-SIMPLE-PLAN.md} +0 -0
  85. /package/{FINAL-STATUS.md → docs/archive/FINAL-STATUS.md} +0 -0
  86. /package/{FLOW-DIAGRAM.md → docs/archive/FLOW-DIAGRAM.md} +0 -0
  87. /package/{GOTCHAS-AND-RISKS.md → docs/archive/GOTCHAS-AND-RISKS.md} +0 -0
  88. /package/{IMPLEMENTATION-PLAN.md → docs/archive/IMPLEMENTATION-PLAN.md} +0 -0
  89. /package/{PLAN.md → docs/archive/PLAN.md} +0 -0
  90. /package/{PRODUCTION-READINESS.md → docs/archive/PRODUCTION-READINESS.md} +0 -0
  91. /package/{PRODUCTION-TEST-RESULTS.md → docs/archive/PRODUCTION-TEST-RESULTS.md} +0 -0
  92. /package/{SIMPLIFIED-PLAN.md → docs/archive/SIMPLIFIED-PLAN.md} +0 -0
  93. /package/{STATUS.md → docs/archive/STATUS.md} +0 -0
  94. /package/{SUCCESS.md → docs/archive/SUCCESS.md} +0 -0
  95. /package/{TEST-SUMMARY.md → docs/archive/TEST-SUMMARY.md} +0 -0
  96. /package/{TESTING-CHECKLIST.md → docs/archive/TESTING-CHECKLIST.md} +0 -0
  97. /package/{USER-MODIFICATIONS.md → docs/archive/USER-MODIFICATIONS.md} +0 -0
@@ -0,0 +1,140 @@
1
+ # Documentation Cleanup Summary
2
+
3
+ ## What Was Done
4
+
5
+ ### 📦 Archived (moved to `docs/archive/`)
6
+ Planning and development docs that are no longer actively needed:
7
+ - AUTO-DETECT-DEPS.md
8
+ - FINAL-PACKAGE-STRATEGY.md
9
+ - FINAL-SIMPLE-PLAN.md
10
+ - FINAL-STATUS.md
11
+ - FLOW-DIAGRAM.md
12
+ - GOTCHAS-AND-RISKS.md
13
+ - IMPLEMENTATION-PLAN.md
14
+ - PLAN.md
15
+ - PRODUCTION-READINESS.md
16
+ - PRODUCTION-TEST-RESULTS.md
17
+ - SIMPLIFIED-PLAN.md
18
+ - STATUS.md
19
+ - SUCCESS.md
20
+ - TEST-SUMMARY.md
21
+ - TESTING-CHECKLIST.md
22
+ - USER-MODIFICATIONS.md
23
+
24
+ ### 🗑️ Deleted
25
+ Temporary/duplicate docs:
26
+ - text.md
27
+ - RECIPES-READY.md
28
+ - READY-TO-PUBLISH.md
29
+ - PUBLISHED-SUCCESS.md
30
+ - PRE-PUBLISH-CHECKLIST.md
31
+ - MONITORING-AND-ANNOUNCEMENT-GUIDE.md
32
+
33
+ ### ✅ Kept (Active Documentation)
34
+ **User Documentation:**
35
+ - **README.md** - Main user guide (updated with manual steps info)
36
+ - **CHANGELOG.md** - Version history
37
+ - **DOCS.md** - Documentation index (NEW)
38
+
39
+ **Technical Documentation:**
40
+ - **HOW-IT-WORKS.md** - Architecture and internals
41
+ - **IMPLEMENTATION-COMPLETE.md** - Implementation details
42
+
43
+ **Recipe Creator Documentation:**
44
+ - **MANUAL-STEPS-GUIDE.md** - Guide for adding manual steps
45
+ - **MANUAL-STEPS-USER-FLOW.md** - How users access manual steps (NEW)
46
+
47
+ **Release Documentation:**
48
+ - **ERROR-MESSAGE-CLEANUP.md** - v0.2.2 error fixes
49
+ - **PUBLISHED-0.2.2.md** - v0.2.2 release notes
50
+ - **PLAN-VS-IMPLEMENTATION.md** - Implementation status
51
+
52
+ ---
53
+
54
+ ## New Documentation Structure
55
+
56
+ ```
57
+ vibefast-cli/
58
+ ├── README.md # START HERE - User guide
59
+ ├── DOCS.md # Documentation index
60
+ ├── CHANGELOG.md # Version history
61
+
62
+ ├── HOW-IT-WORKS.md # Technical architecture
63
+ ├── IMPLEMENTATION-COMPLETE.md # Implementation details
64
+
65
+ ├── MANUAL-STEPS-GUIDE.md # For recipe creators
66
+ ├── MANUAL-STEPS-USER-FLOW.md # How users access manual steps
67
+
68
+ ├── ERROR-MESSAGE-CLEANUP.md # v0.2.2 fixes
69
+ ├── PUBLISHED-0.2.2.md # v0.2.2 release
70
+ ├── PLAN-VS-IMPLEMENTATION.md # Implementation status
71
+
72
+ └── docs/
73
+ └── archive/ # Historical planning docs
74
+ ├── IMPLEMENTATION-PLAN.md
75
+ ├── FLOW-DIAGRAM.md
76
+ └── ... (16 archived docs)
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Quick Reference
82
+
83
+ **I want to...**
84
+
85
+ | Goal | Read This |
86
+ |------|-----------|
87
+ | Use the CLI | [README.md](README.md) |
88
+ | See what's new | [CHANGELOG.md](CHANGELOG.md) |
89
+ | Find a specific doc | [DOCS.md](DOCS.md) |
90
+ | Understand internals | [HOW-IT-WORKS.md](HOW-IT-WORKS.md) |
91
+ | Create recipes with manual steps | [MANUAL-STEPS-GUIDE.md](MANUAL-STEPS-GUIDE.md) |
92
+ | Understand how users see manual steps | [MANUAL-STEPS-USER-FLOW.md](MANUAL-STEPS-USER-FLOW.md) |
93
+ | Check implementation status | [PLAN-VS-IMPLEMENTATION.md](PLAN-VS-IMPLEMENTATION.md) |
94
+
95
+ ---
96
+
97
+ ## Benefits
98
+
99
+ ### Before Cleanup
100
+ - 29 markdown files in root
101
+ - Confusing mix of planning, temp, and user docs
102
+ - Hard to find what you need
103
+ - Outdated information
104
+
105
+ ### After Cleanup
106
+ - 10 focused docs in root
107
+ - Clear separation: user docs, technical docs, recipe creator docs
108
+ - Easy navigation with DOCS.md index
109
+ - All docs are current and relevant
110
+
111
+ ---
112
+
113
+ ## Maintenance
114
+
115
+ ### When to Archive
116
+ Move docs to `docs/archive/` when:
117
+ - Planning phase is complete
118
+ - Implementation is done
119
+ - Information is historical/reference only
120
+
121
+ ### When to Delete
122
+ Delete docs when:
123
+ - They're temporary (test results, checklists)
124
+ - They're duplicates
125
+ - They're empty or placeholder files
126
+
127
+ ### When to Keep
128
+ Keep docs when:
129
+ - Users need them (README, CHANGELOG)
130
+ - Developers need them (HOW-IT-WORKS)
131
+ - Recipe creators need them (MANUAL-STEPS-GUIDE)
132
+ - They document releases (PUBLISHED-*.md)
133
+
134
+ ---
135
+
136
+ **Cleanup completed:** November 14, 2024
137
+ **Files archived:** 16
138
+ **Files deleted:** 6
139
+ **Active docs:** 10
140
+ **New docs created:** 2 (DOCS.md, MANUAL-STEPS-USER-FLOW.md)
package/DOCS.md ADDED
@@ -0,0 +1,141 @@
1
+ # VibeFast CLI Documentation Index
2
+
3
+ Quick reference to all documentation files.
4
+
5
+ ## 📖 User Documentation
6
+
7
+ ### [README.md](README.md) - **START HERE**
8
+ Complete user guide with all commands, options, and examples.
9
+
10
+ **Read this if you want to:**
11
+ - Install and use the CLI
12
+ - Learn all available commands
13
+ - Understand how to add/remove features
14
+ - Troubleshoot common issues
15
+
16
+ ---
17
+
18
+ ### [CHANGELOG.md](CHANGELOG.md)
19
+ Version history and release notes.
20
+
21
+ **Read this if you want to:**
22
+ - See what's new in each version
23
+ - Check if a bug was fixed
24
+ - Understand breaking changes
25
+
26
+ ---
27
+
28
+ ## 🔧 Technical Documentation
29
+
30
+ ### [HOW-IT-WORKS.md](HOW-IT-WORKS.md)
31
+ Technical architecture and implementation details.
32
+
33
+ **Read this if you want to:**
34
+ - Understand the CLI internals
35
+ - Learn about the authentication flow
36
+ - See how recipes are delivered
37
+ - Understand the journal system
38
+
39
+ ---
40
+
41
+ ### [IMPLEMENTATION-COMPLETE.md](IMPLEMENTATION-COMPLETE.md)
42
+ Complete implementation details of all features.
43
+
44
+ **Read this if you want to:**
45
+ - See what features are implemented
46
+ - Understand the recipe format
47
+ - Learn about the journal structure
48
+ - See code examples
49
+
50
+ ---
51
+
52
+ ## 🎨 Recipe Creator Documentation
53
+
54
+ ### [MANUAL-STEPS-GUIDE.md](MANUAL-STEPS-GUIDE.md)
55
+ Guide for adding manual setup steps to recipes.
56
+
57
+ **Read this if you want to:**
58
+ - Create recipes for services (Sentry, PostHog, etc.)
59
+ - Add environment variable requirements
60
+ - Show setup instructions to users
61
+ - See real-world examples
62
+
63
+ ---
64
+
65
+ ### [MANUAL-STEPS-USER-FLOW.md](MANUAL-STEPS-USER-FLOW.md)
66
+ How users discover and access manual setup steps.
67
+
68
+ **Read this if you want to:**
69
+ - Understand how users see manual steps
70
+ - Learn the user journey
71
+ - See complete examples
72
+
73
+ ---
74
+
75
+ ## 📝 Release Documentation
76
+
77
+ ### [ERROR-MESSAGE-CLEANUP.md](ERROR-MESSAGE-CLEANUP.md)
78
+ Documentation of error message improvements in v0.2.2.
79
+
80
+ **Read this if you want to:**
81
+ - Understand the error message cleanup
82
+ - See before/after examples
83
+
84
+ ---
85
+
86
+ ### [PUBLISHED-0.2.2.md](PUBLISHED-0.2.2.md)
87
+ Release notes for v0.2.2.
88
+
89
+ **Read this if you want to:**
90
+ - See what was fixed in v0.2.2
91
+ - Verify installation
92
+
93
+ ---
94
+
95
+ ### [PLAN-VS-IMPLEMENTATION.md](PLAN-VS-IMPLEMENTATION.md)
96
+ Comparison of planned vs implemented features.
97
+
98
+ **Read this if you want to:**
99
+ - See if all planned features are complete
100
+ - Understand what was simplified
101
+ - Check implementation status
102
+
103
+ ---
104
+
105
+ ## 📦 Archived Documentation
106
+
107
+ Historical planning and development docs are in `docs/archive/`:
108
+ - Implementation plans
109
+ - Testing checklists
110
+ - Production readiness docs
111
+ - Flow diagrams
112
+ - Status updates
113
+
114
+ **These are kept for reference but are no longer actively maintained.**
115
+
116
+ ---
117
+
118
+ ## Quick Navigation
119
+
120
+ **I want to...**
121
+
122
+ - **Use the CLI** → [README.md](README.md)
123
+ - **See what's new** → [CHANGELOG.md](CHANGELOG.md)
124
+ - **Understand how it works** → [HOW-IT-WORKS.md](HOW-IT-WORKS.md)
125
+ - **Create a recipe with manual steps** → [MANUAL-STEPS-GUIDE.md](MANUAL-STEPS-GUIDE.md)
126
+ - **See implementation details** → [IMPLEMENTATION-COMPLETE.md](IMPLEMENTATION-COMPLETE.md)
127
+ - **Check if a feature is done** → [PLAN-VS-IMPLEMENTATION.md](PLAN-VS-IMPLEMENTATION.md)
128
+
129
+ ---
130
+
131
+ ## Contributing
132
+
133
+ When adding new documentation:
134
+ 1. Add it to this index
135
+ 2. Keep it focused and concise
136
+ 3. Link to it from relevant places
137
+ 4. Archive old docs when they become outdated
138
+
139
+ ---
140
+
141
+ **Last Updated:** November 14, 2024
@@ -445,11 +445,12 @@ The CLI is now production-ready and can be shipped!
445
445
 
446
446
  ## Next Steps
447
447
 
448
- 1. **Test with real features** - Create test recipes and try the full flow
449
- 2. **Update documentation** - Update README with new commands and flags
450
- 3. **Create example recipes** - Charts, Sentry, PostHog, etc.
451
- 4. **Publish to npm** - Bump version and publish
452
- 5. **Get user feedback** - Ship and iterate based on real usage
448
+ Remaining work is tracked in [`docs/next-steps.md`](docs/next-steps.md), which keeps these priority items discoverable for future contributors.
449
+
450
+ ## Automated Test Runs
451
+
452
+ - `npm run test` (watch mode) initially timed out because Vitest remained in watch mode.
453
+ - `CI=1 npm run test` runs a single pass; all `34` tests complete successfully (`prompt`, `validate`, `hash`, `journal`, `fsx` suites).
453
454
 
454
455
  ---
455
456
 
@@ -0,0 +1,385 @@
1
+ # Manual Steps Guide
2
+
3
+ ## What Are Manual Steps?
4
+
5
+ Manual steps are instructions shown to users when a feature requires **external service configuration** that can't be automated. This is for features that need:
6
+
7
+ - API keys from third-party services
8
+ - Account creation on external platforms
9
+ - Environment variables
10
+ - Manual code modifications
11
+
12
+ ## When to Use Manual Steps
13
+
14
+ ### ✅ Use Manual Steps For:
15
+
16
+ 1. **Third-Party Services**
17
+ - Sentry (error tracking)
18
+ - PostHog (analytics)
19
+ - Stripe (payments)
20
+ - OpenAI (AI APIs)
21
+ - Firebase (backend services)
22
+ - Supabase (database)
23
+
24
+ 2. **API Keys & Secrets**
25
+ - Any feature requiring API keys
26
+ - OAuth credentials
27
+ - Webhook URLs
28
+ - Service tokens
29
+
30
+ 3. **External Accounts**
31
+ - Features requiring user to sign up elsewhere
32
+ - Services with manual approval process
33
+
34
+ ### ❌ Don't Use Manual Steps For:
35
+
36
+ 1. **Pure UI Components**
37
+ - Charts, graphs, visualizations
38
+ - UI widgets, buttons, forms
39
+ - Navigation components
40
+ - Layout components
41
+
42
+ 2. **Self-Contained Features**
43
+ - Quiz app (no external service)
44
+ - Tracker app (local storage)
45
+ - Audio recorder (device only)
46
+
47
+ ## How to Add Manual Steps
48
+
49
+ ### Recipe Format
50
+
51
+ ```json
52
+ {
53
+ "name": "sentry",
54
+ "version": "1.0.0",
55
+ "description": "Error tracking with Sentry",
56
+ "target": "native",
57
+
58
+ "copy": [
59
+ {
60
+ "from": "apps/native/src/features/sentry",
61
+ "to": "apps/native/src/features/sentry"
62
+ }
63
+ ],
64
+
65
+ "dependencies": {
66
+ "expo": ["@sentry/react-native"]
67
+ },
68
+
69
+ "env": [
70
+ {
71
+ "key": "SENTRY_DSN",
72
+ "description": "Your Sentry DSN for error tracking",
73
+ "example": "https://abc123@o123.ingest.sentry.io/456",
74
+ "link": "https://sentry.io/settings/projects/"
75
+ },
76
+ {
77
+ "key": "SENTRY_ORG",
78
+ "description": "Your Sentry organization slug",
79
+ "example": "my-company",
80
+ "link": "https://sentry.io/settings/"
81
+ }
82
+ ],
83
+
84
+ "manualSteps": [
85
+ {
86
+ "title": "Create Sentry Account",
87
+ "description": "Sign up at sentry.io and create a new project for your app",
88
+ "link": "https://sentry.io/signup/"
89
+ },
90
+ {
91
+ "title": "Get Your DSN",
92
+ "description": "Copy your DSN from Project Settings > Client Keys (DSN)",
93
+ "link": "https://sentry.io/settings/"
94
+ },
95
+ {
96
+ "title": "Add Environment Variables",
97
+ "description": "Add SENTRY_DSN and SENTRY_ORG to your .env file",
98
+ "file": ".env",
99
+ "content": "SENTRY_DSN=your-dsn-here\nSENTRY_ORG=your-org-slug"
100
+ },
101
+ {
102
+ "title": "Initialize Sentry",
103
+ "description": "Import and initialize Sentry in your app entry point",
104
+ "file": "apps/native/src/app/_layout.tsx",
105
+ "content": "import { initSentry } from '@/features/sentry';\ninitSentry();"
106
+ }
107
+ ],
108
+
109
+ "postInstall": {
110
+ "message": "Sentry is installed! Complete the manual steps to start tracking errors."
111
+ }
112
+ }
113
+ ```
114
+
115
+ ### Field Descriptions
116
+
117
+ #### `env` Array
118
+ Each environment variable needs:
119
+ - `key` (required): The env var name (e.g., "SENTRY_DSN")
120
+ - `description` (required): What this variable is for
121
+ - `example` (required): Example value to show format
122
+ - `link` (optional): URL where to get this value
123
+
124
+ #### `manualSteps` Array
125
+ Each step needs:
126
+ - `title` (required): Short step title
127
+ - `description` (required): Detailed instructions
128
+ - `link` (optional): URL for more info or to perform action
129
+ - `file` (optional): File to modify
130
+ - `content` (optional): Code/text to add to the file
131
+
132
+ ## User Experience
133
+
134
+ ### During Installation
135
+
136
+ When a user runs `vf add sentry`, they see:
137
+
138
+ ```bash
139
+ ✓ sentry installed successfully!
140
+ ℹ Files added: 5
141
+
142
+ ⚠ This feature requires additional packages
143
+
144
+ 📦 Required packages:
145
+ • @sentry/react-native
146
+
147
+ Install with:
148
+ npx expo install @sentry/react-native
149
+
150
+ 💡 Expo will automatically pick compatible versions
151
+
152
+ ⚠ MANUAL STEPS REQUIRED:
153
+
154
+ This feature requires some manual configuration:
155
+
156
+ Step 1: Create Sentry Account
157
+ Sign up at sentry.io and create a new project for your app
158
+ 🔗 https://sentry.io/signup/
159
+
160
+ Step 2: Get Your DSN
161
+ Copy your DSN from Project Settings > Client Keys (DSN)
162
+ 🔗 https://sentry.io/settings/
163
+
164
+ Step 3: Add Environment Variables
165
+ Add SENTRY_DSN and SENTRY_ORG to your .env file
166
+ 📝 File: .env
167
+ Add: SENTRY_DSN=your-dsn-here
168
+ SENTRY_ORG=your-org-slug
169
+
170
+ Step 4: Initialize Sentry
171
+ Import and initialize Sentry in your app entry point
172
+ 📝 File: apps/native/src/app/_layout.tsx
173
+ Add: import { initSentry } from '@/features/sentry';
174
+ initSentry();
175
+
176
+ ⚠ REQUIRED ENVIRONMENT VARIABLES:
177
+
178
+ SENTRY_DSN
179
+ Your Sentry DSN for error tracking
180
+ Example: https://abc123@o123.ingest.sentry.io/456
181
+ Get it: https://sentry.io/settings/projects/
182
+
183
+ SENTRY_ORG
184
+ Your Sentry organization slug
185
+ Example: my-company
186
+ Get it: https://sentry.io/settings/
187
+
188
+ Add these to your .env file
189
+
190
+ 💡 Run 'vf checklist sentry' to see these steps again
191
+ ```
192
+
193
+ ### Later Reference
194
+
195
+ User can run `vf checklist sentry` anytime to see the steps again:
196
+
197
+ ```bash
198
+ $ vf checklist sentry
199
+
200
+ Manual setup steps for sentry:
201
+
202
+ Step 1: Create Sentry Account
203
+ Sign up at sentry.io and create a new project for your app
204
+ 🔗 https://sentry.io/signup/
205
+
206
+ Step 2: Get Your DSN
207
+ Copy your DSN from Project Settings > Client Keys (DSN)
208
+ 🔗 https://sentry.io/settings/
209
+
210
+ ...
211
+ ```
212
+
213
+ ### Status Command
214
+
215
+ The status command shows which features have pending manual steps:
216
+
217
+ ```bash
218
+ $ vf status
219
+
220
+ Installed features:
221
+
222
+ ✓ charts (v1.0.0) - native
223
+ Files: 17
224
+ Installed: 11/14/2024
225
+
226
+ ✓ sentry (v1.2.0) - native
227
+ Files: 5
228
+ Installed: 11/14/2024
229
+ ⚠ Has manual setup steps (run: vf checklist sentry)
230
+
231
+ Total: 2 feature(s) installed
232
+ ```
233
+
234
+ ## Real-World Examples
235
+
236
+ ### Example 1: PostHog Analytics
237
+
238
+ ```json
239
+ {
240
+ "name": "posthog",
241
+ "env": [
242
+ {
243
+ "key": "POSTHOG_API_KEY",
244
+ "description": "Your PostHog project API key",
245
+ "example": "phc_abc123xyz",
246
+ "link": "https://app.posthog.com/project/settings"
247
+ },
248
+ {
249
+ "key": "POSTHOG_HOST",
250
+ "description": "PostHog instance URL",
251
+ "example": "https://app.posthog.com",
252
+ "link": "https://posthog.com/docs/getting-started/cloud"
253
+ }
254
+ ],
255
+ "manualSteps": [
256
+ {
257
+ "title": "Create PostHog Account",
258
+ "description": "Sign up at posthog.com and create a project",
259
+ "link": "https://app.posthog.com/signup"
260
+ },
261
+ {
262
+ "title": "Get API Key",
263
+ "description": "Copy your Project API Key from Settings",
264
+ "link": "https://app.posthog.com/project/settings"
265
+ }
266
+ ]
267
+ }
268
+ ```
269
+
270
+ ### Example 2: Stripe Payments
271
+
272
+ ```json
273
+ {
274
+ "name": "stripe-checkout",
275
+ "env": [
276
+ {
277
+ "key": "STRIPE_PUBLISHABLE_KEY",
278
+ "description": "Your Stripe publishable key (starts with pk_)",
279
+ "example": "pk_test_abc123",
280
+ "link": "https://dashboard.stripe.com/apikeys"
281
+ },
282
+ {
283
+ "key": "STRIPE_SECRET_KEY",
284
+ "description": "Your Stripe secret key (starts with sk_) - KEEP SECRET!",
285
+ "example": "sk_test_xyz789",
286
+ "link": "https://dashboard.stripe.com/apikeys"
287
+ }
288
+ ],
289
+ "manualSteps": [
290
+ {
291
+ "title": "Create Stripe Account",
292
+ "description": "Sign up at stripe.com and complete account setup",
293
+ "link": "https://dashboard.stripe.com/register"
294
+ },
295
+ {
296
+ "title": "Get API Keys",
297
+ "description": "Get your test keys from the Stripe Dashboard",
298
+ "link": "https://dashboard.stripe.com/apikeys"
299
+ },
300
+ {
301
+ "title": "Configure Webhooks",
302
+ "description": "Set up webhook endpoint for payment events",
303
+ "link": "https://dashboard.stripe.com/webhooks"
304
+ }
305
+ ]
306
+ }
307
+ ```
308
+
309
+ ### Example 3: OpenAI Integration
310
+
311
+ ```json
312
+ {
313
+ "name": "ai-chat",
314
+ "env": [
315
+ {
316
+ "key": "OPENAI_API_KEY",
317
+ "description": "Your OpenAI API key",
318
+ "example": "sk-proj-abc123xyz",
319
+ "link": "https://platform.openai.com/api-keys"
320
+ }
321
+ ],
322
+ "manualSteps": [
323
+ {
324
+ "title": "Create OpenAI Account",
325
+ "description": "Sign up at platform.openai.com",
326
+ "link": "https://platform.openai.com/signup"
327
+ },
328
+ {
329
+ "title": "Add Payment Method",
330
+ "description": "Add a payment method to enable API access",
331
+ "link": "https://platform.openai.com/account/billing"
332
+ },
333
+ {
334
+ "title": "Generate API Key",
335
+ "description": "Create a new API key from your account settings",
336
+ "link": "https://platform.openai.com/api-keys"
337
+ }
338
+ ]
339
+ }
340
+ ```
341
+
342
+ ## Best Practices
343
+
344
+ ### 1. Be Specific
345
+ ❌ Bad: "Get your API key"
346
+ ✅ Good: "Copy your Project API Key from Settings > API Keys"
347
+
348
+ ### 2. Include Links
349
+ Always provide direct links to:
350
+ - Sign up pages
351
+ - Settings pages
352
+ - Documentation
353
+ - API key pages
354
+
355
+ ### 3. Show Examples
356
+ Always include example values so users know the format:
357
+ ```json
358
+ {
359
+ "example": "https://abc123@o123.ingest.sentry.io/456"
360
+ }
361
+ ```
362
+
363
+ ### 4. Order Steps Logically
364
+ 1. Create account
365
+ 2. Get credentials
366
+ 3. Add to .env
367
+ 4. Initialize in code
368
+
369
+ ### 5. Warn About Secrets
370
+ For sensitive keys, add warnings:
371
+ ```json
372
+ {
373
+ "description": "Your Stripe secret key (starts with sk_) - KEEP SECRET! Never commit to Git!"
374
+ }
375
+ ```
376
+
377
+ ## Summary
378
+
379
+ - **Use manual steps** for features requiring external services, API keys, or accounts
380
+ - **Don't use** for pure UI components or self-contained features
381
+ - **Be specific** with instructions and always include links
382
+ - **Show examples** so users know what format to expect
383
+ - Users can run `vf checklist <feature>` anytime to see steps again
384
+
385
+ Your current features (charts, chatbot, quiz, etc.) don't need manual steps because they're self-contained UI components!