@intentsolutionsio/vercel-pack 1.0.0 → 1.0.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 (124) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +67 -44
  3. package/package.json +4 -4
  4. package/skills/vercel-advanced-troubleshooting/SKILL.md +185 -195
  5. package/skills/vercel-advanced-troubleshooting/references/errors.md +11 -0
  6. package/skills/vercel-advanced-troubleshooting/references/evidence-collection-framework.md +34 -0
  7. package/skills/vercel-advanced-troubleshooting/references/examples.md +11 -0
  8. package/skills/vercel-advanced-troubleshooting/references/systematic-isolation.md +56 -0
  9. package/skills/vercel-advanced-troubleshooting/references/timing-analysis.md +35 -0
  10. package/skills/vercel-architecture-variants/SKILL.md +227 -216
  11. package/skills/vercel-architecture-variants/references/errors.md +11 -0
  12. package/skills/vercel-architecture-variants/references/examples.md +12 -0
  13. package/skills/vercel-architecture-variants/references/variant-a-monolith-(simple).md +44 -0
  14. package/skills/vercel-architecture-variants/references/variant-b-service-layer-(moderate).md +72 -0
  15. package/skills/vercel-architecture-variants/references/variant-c-microservice-(complex).md +81 -0
  16. package/skills/vercel-ci-integration/SKILL.md +183 -73
  17. package/skills/vercel-ci-integration/references/errors.md +10 -0
  18. package/skills/vercel-ci-integration/references/examples.md +36 -0
  19. package/skills/vercel-ci-integration/references/implementation.md +54 -0
  20. package/skills/vercel-common-errors/SKILL.md +164 -60
  21. package/skills/vercel-common-errors/references/errors.md +53 -0
  22. package/skills/vercel-common-errors/references/examples.md +23 -0
  23. package/skills/vercel-cost-tuning/SKILL.md +158 -145
  24. package/skills/vercel-cost-tuning/references/cost-estimation.md +34 -0
  25. package/skills/vercel-cost-tuning/references/cost-reduction-strategies.md +40 -0
  26. package/skills/vercel-cost-tuning/references/errors.md +11 -0
  27. package/skills/vercel-cost-tuning/references/examples.md +15 -0
  28. package/skills/vercel-data-handling/SKILL.md +202 -155
  29. package/skills/vercel-data-handling/references/errors.md +11 -0
  30. package/skills/vercel-data-handling/references/examples.md +27 -0
  31. package/skills/vercel-data-handling/references/implementation.md +223 -0
  32. package/skills/vercel-debug-bundle/SKILL.md +163 -67
  33. package/skills/vercel-debug-bundle/references/errors.md +12 -0
  34. package/skills/vercel-debug-bundle/references/examples.md +24 -0
  35. package/skills/vercel-debug-bundle/references/implementation.md +54 -0
  36. package/skills/vercel-deploy-integration/SKILL.md +163 -156
  37. package/skills/vercel-deploy-integration/references/errors.md +11 -0
  38. package/skills/vercel-deploy-integration/references/examples.md +21 -0
  39. package/skills/vercel-deploy-integration/references/google-cloud-run.md +36 -0
  40. package/skills/vercel-deploy-integration/references/vercel-deployment.md +35 -0
  41. package/skills/vercel-deploy-preview/SKILL.md +164 -39
  42. package/skills/vercel-edge-functions/SKILL.md +185 -37
  43. package/skills/vercel-enterprise-rbac/SKILL.md +185 -170
  44. package/skills/vercel-enterprise-rbac/references/errors.md +11 -0
  45. package/skills/vercel-enterprise-rbac/references/examples.md +12 -0
  46. package/skills/vercel-enterprise-rbac/references/role-implementation.md +33 -0
  47. package/skills/vercel-enterprise-rbac/references/sso-integration.md +35 -0
  48. package/skills/vercel-hello-world/SKILL.md +141 -55
  49. package/skills/vercel-incident-runbook/SKILL.md +186 -138
  50. package/skills/vercel-incident-runbook/references/errors.md +11 -0
  51. package/skills/vercel-incident-runbook/references/examples.md +10 -0
  52. package/skills/vercel-incident-runbook/references/immediate-actions-by-error-type.md +41 -0
  53. package/skills/vercel-install-auth/SKILL.md +130 -53
  54. package/skills/vercel-known-pitfalls/SKILL.md +235 -233
  55. package/skills/vercel-known-pitfalls/references/errors.md +11 -0
  56. package/skills/vercel-known-pitfalls/references/examples.md +12 -0
  57. package/skills/vercel-load-scale/SKILL.md +197 -204
  58. package/skills/vercel-load-scale/references/capacity-planning.md +47 -0
  59. package/skills/vercel-load-scale/references/errors.md +11 -0
  60. package/skills/vercel-load-scale/references/examples.md +26 -0
  61. package/skills/vercel-load-scale/references/load-testing-with-k6.md +59 -0
  62. package/skills/vercel-load-scale/references/scaling-patterns.md +65 -0
  63. package/skills/vercel-local-dev-loop/SKILL.md +159 -71
  64. package/skills/vercel-local-dev-loop/references/errors.md +11 -0
  65. package/skills/vercel-local-dev-loop/references/examples.md +21 -0
  66. package/skills/vercel-local-dev-loop/references/implementation.md +60 -0
  67. package/skills/vercel-migration-deep-dive/SKILL.md +202 -187
  68. package/skills/vercel-migration-deep-dive/references/errors.md +11 -0
  69. package/skills/vercel-migration-deep-dive/references/examples.md +12 -0
  70. package/skills/vercel-migration-deep-dive/references/implementation-plan.md +80 -0
  71. package/skills/vercel-migration-deep-dive/references/pre-migration-assessment.md +39 -0
  72. package/skills/vercel-multi-env-setup/SKILL.md +167 -164
  73. package/skills/vercel-multi-env-setup/references/configuration-structure.md +59 -0
  74. package/skills/vercel-multi-env-setup/references/errors.md +11 -0
  75. package/skills/vercel-multi-env-setup/references/examples.md +11 -0
  76. package/skills/vercel-observability/SKILL.md +205 -195
  77. package/skills/vercel-observability/references/alert-configuration.md +40 -0
  78. package/skills/vercel-observability/references/errors.md +11 -0
  79. package/skills/vercel-observability/references/examples.md +13 -0
  80. package/skills/vercel-observability/references/metrics-collection.md +65 -0
  81. package/skills/vercel-performance-tuning/SKILL.md +212 -156
  82. package/skills/vercel-performance-tuning/references/caching-strategy.md +49 -0
  83. package/skills/vercel-performance-tuning/references/errors.md +11 -0
  84. package/skills/vercel-performance-tuning/references/examples.md +13 -0
  85. package/skills/vercel-policy-guardrails/SKILL.md +276 -193
  86. package/skills/vercel-policy-guardrails/references/errors.md +11 -0
  87. package/skills/vercel-policy-guardrails/references/eslint-rules.md +46 -0
  88. package/skills/vercel-policy-guardrails/references/examples.md +10 -0
  89. package/skills/vercel-prod-checklist/SKILL.md +219 -94
  90. package/skills/vercel-prod-checklist/references/errors.md +11 -0
  91. package/skills/vercel-prod-checklist/references/examples.md +25 -0
  92. package/skills/vercel-prod-checklist/references/implementation.md +60 -0
  93. package/skills/vercel-rate-limits/SKILL.md +187 -100
  94. package/skills/vercel-rate-limits/references/errors.md +11 -0
  95. package/skills/vercel-rate-limits/references/examples.md +46 -0
  96. package/skills/vercel-rate-limits/references/implementation.md +66 -0
  97. package/skills/vercel-reference-architecture/SKILL.md +226 -180
  98. package/skills/vercel-reference-architecture/references/errors.md +11 -0
  99. package/skills/vercel-reference-architecture/references/examples.md +13 -0
  100. package/skills/vercel-reference-architecture/references/key-components.md +65 -0
  101. package/skills/vercel-reference-architecture/references/project-structure.md +40 -0
  102. package/skills/vercel-reliability-patterns/SKILL.md +272 -211
  103. package/skills/vercel-reliability-patterns/references/circuit-breaker.md +36 -0
  104. package/skills/vercel-reliability-patterns/references/dead-letter-queue.md +48 -0
  105. package/skills/vercel-reliability-patterns/references/errors.md +11 -0
  106. package/skills/vercel-reliability-patterns/references/examples.md +11 -0
  107. package/skills/vercel-reliability-patterns/references/idempotency-keys.md +36 -0
  108. package/skills/vercel-sdk-patterns/SKILL.md +264 -92
  109. package/skills/vercel-sdk-patterns/references/errors.md +11 -0
  110. package/skills/vercel-sdk-patterns/references/examples.md +45 -0
  111. package/skills/vercel-sdk-patterns/references/implementation.md +67 -0
  112. package/skills/vercel-security-basics/SKILL.md +186 -96
  113. package/skills/vercel-security-basics/references/errors.md +10 -0
  114. package/skills/vercel-security-basics/references/examples.md +70 -0
  115. package/skills/vercel-security-basics/references/implementation.md +39 -0
  116. package/skills/vercel-upgrade-migration/SKILL.md +167 -67
  117. package/skills/vercel-upgrade-migration/references/errors.md +10 -0
  118. package/skills/vercel-upgrade-migration/references/examples.md +51 -0
  119. package/skills/vercel-upgrade-migration/references/implementation.md +29 -0
  120. package/skills/vercel-webhooks-events/SKILL.md +208 -132
  121. package/skills/vercel-webhooks-events/references/errors.md +11 -0
  122. package/skills/vercel-webhooks-events/references/event-handler-pattern.md +37 -0
  123. package/skills/vercel-webhooks-events/references/examples.md +16 -0
  124. package/skills/vercel-webhooks-events/references/signature-verification.md +33 -0
@@ -1,117 +1,205 @@
1
1
  ---
2
2
  name: vercel-local-dev-loop
3
- description: |
4
- Configure Vercel local development with hot reload and testing.
5
- Use when setting up a development environment, configuring test workflows,
3
+ description: 'Configure Vercel local development with vercel dev, environment variables,
4
+ and hot reload.
5
+
6
+ Use when setting up a development environment, testing serverless functions locally,
7
+
6
8
  or establishing a fast iteration cycle with Vercel.
9
+
7
10
  Trigger with phrases like "vercel dev setup", "vercel local development",
8
- "vercel dev environment", "develop with vercel".
9
- allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pnpm:*), Grep
11
+
12
+ "vercel dev environment", "develop with vercel locally".
13
+
14
+ '
15
+ allowed-tools: Read, Write, Edit, Bash(vercel:*), Bash(npm:*), Bash(npx:*), Grep
10
16
  version: 1.0.0
11
17
  license: MIT
12
18
  author: Jeremy Longshore <jeremy@intentsolutions.io>
19
+ tags:
20
+ - saas
21
+ - vercel
22
+ - development
23
+ - testing
24
+ - workflow
25
+ compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
13
26
  ---
14
-
15
27
  # Vercel Local Dev Loop
16
28
 
17
29
  ## Overview
18
- Set up a fast, reproducible local development workflow for Vercel.
30
+
31
+ Run Vercel serverless functions and API routes locally using `vercel dev`. Covers environment variable management, hot reload, local testing patterns, and framework-specific dev servers.
19
32
 
20
33
  ## Prerequisites
34
+
21
35
  - Completed `vercel-install-auth` setup
36
+ - Project linked via `vercel link`
22
37
  - Node.js 18+ with npm/pnpm
23
- - Code editor with TypeScript support
24
- - Git for version control
25
38
 
26
39
  ## Instructions
27
40
 
28
- ### Step 1: Create Project Structure
41
+ ### Step 1: Pull Environment Variables
42
+
43
+ ```bash
44
+ # Pull env vars from Vercel to local .env files
45
+ vercel env pull .env.development.local
46
+
47
+ # This creates .env.development.local with all Development-scoped vars:
48
+ # VERCEL="1"
49
+ # VERCEL_ENV="development"
50
+ # DATABASE_URL="postgres://..."
51
+ # API_SECRET="sk-..."
52
+ ```
53
+
54
+ ### Step 2: Start Local Dev Server
55
+
56
+ ```bash
57
+ # vercel dev starts a local server that emulates the Vercel platform
58
+ vercel dev
59
+
60
+ # Output:
61
+ # Vercel CLI 39.x.x — dev command
62
+ # > Ready on http://localhost:3000
63
+
64
+ # With a specific port
65
+ vercel dev --listen 8080
66
+
67
+ # With debug logging
68
+ vercel dev --debug
29
69
  ```
30
- my-vercel-project/
31
- ├── src/
32
- │ ├── vercel/
33
- │ │ ├── client.ts # Vercel client wrapper
34
- │ │ ├── config.ts # Configuration management
35
- │ │ └── utils.ts # Helper functions
36
- │ └── index.ts
37
- ├── tests/
38
- │ └── vercel.test.ts
39
- ├── .env.local # Local secrets (git-ignored)
40
- ├── .env.example # Template for team
41
- └── package.json
70
+
71
+ `vercel dev` provides:
72
+
73
+ - Serverless function emulation at `/api/*` routes
74
+ - Automatic TypeScript compilation
75
+ - `vercel.json` rewrites, redirects, and headers applied locally
76
+ - Environment variables loaded from `.env*.local` files
77
+ - Framework detection (Next.js, Nuxt, SvelteKit, etc.)
78
+
79
+ ### Step 3: Test Serverless Functions Locally
80
+
81
+ ```bash
82
+ # Test your API route
83
+ curl http://localhost:3000/api/hello
84
+ # {"message":"Hello from Vercel Serverless Function!"}
85
+
86
+ # Test with POST body
87
+ curl -X POST http://localhost:3000/api/users \
88
+ -H "Content-Type: application/json" \
89
+ -d '{"name":"test","email":"test@example.com"}'
90
+
91
+ # Test with query parameters
92
+ curl "http://localhost:3000/api/search?q=vercel&limit=10"
42
93
  ```
43
94
 
44
- ### Step 2: Configure Environment
95
+ ### Step 4: Framework-Specific Dev Servers
96
+
97
+ For frameworks with their own dev server, use those instead of `vercel dev`:
98
+
45
99
  ```bash
46
- # Copy environment template
47
- cp .env.example .env.local
100
+ # Next.js built-in Vercel compatibility
101
+ npx next dev
102
+ # API routes at pages/api/* or app/api/* work identically
48
103
 
49
- # Install dependencies
50
- npm install
104
+ # Nuxt
105
+ npx nuxi dev
51
106
 
52
- # Start development server
107
+ # SvelteKit
53
108
  npm run dev
109
+
110
+ # Astro
111
+ npx astro dev
54
112
  ```
55
113
 
56
- ### Step 3: Setup Hot Reload
57
- ```json
58
- {
59
- "scripts": {
60
- "dev": "tsx watch src/index.ts",
61
- "test": "vitest",
62
- "test:watch": "vitest --watch"
63
- }
64
- }
114
+ The framework dev servers handle API routes natively. Use `vercel dev` only for plain serverless function projects without a framework.
115
+
116
+ ### Step 5: Local Environment Variable Management
117
+
118
+ ```bash
119
+ # Add a new env var for development only
120
+ vercel env add MY_VAR development
121
+ # Prompts for value, stores encrypted on Vercel
122
+
123
+ # List all env vars
124
+ vercel env ls
125
+
126
+ # Remove an env var
127
+ vercel env rm MY_VAR development
128
+
129
+ # Pull updated vars after changes
130
+ vercel env pull .env.development.local
65
131
  ```
66
132
 
67
- ### Step 4: Configure Testing
133
+ ### Step 6: Testing with Vitest
134
+
68
135
  ```typescript
136
+ // api/__tests__/hello.test.ts
69
137
  import { describe, it, expect, vi } from 'vitest';
70
- import { VercelClient } from '../src/vercel/client';
71
138
 
72
- describe('Vercel Client', () => {
73
- it('should initialize with API key', () => {
74
- const client = new VercelClient({ apiKey: 'test-key' });
75
- expect(client).toBeDefined();
139
+ // Mock the Vercel request/response
140
+ function createMockReq(overrides = {}) {
141
+ return { method: 'GET', query: {}, body: null, ...overrides };
142
+ }
143
+
144
+ function createMockRes() {
145
+ const res: any = {};
146
+ res.status = vi.fn().mockReturnValue(res);
147
+ res.json = vi.fn().mockReturnValue(res);
148
+ res.send = vi.fn().mockReturnValue(res);
149
+ return res;
150
+ }
151
+
152
+ describe('GET /api/hello', () => {
153
+ it('returns 200 with message', async () => {
154
+ const handler = (await import('../hello')).default;
155
+ const req = createMockReq();
156
+ const res = createMockRes();
157
+
158
+ handler(req, res);
159
+
160
+ expect(res.status).toHaveBeenCalledWith(200);
161
+ expect(res.json).toHaveBeenCalledWith(
162
+ expect.objectContaining({ message: expect.any(String) })
163
+ );
76
164
  });
77
165
  });
78
166
  ```
79
167
 
168
+ ## `.env` File Hierarchy
169
+
170
+ Vercel loads environment files in this order (later files override earlier):
171
+
172
+ | File | Environment | Git |
173
+ |------|------------|-----|
174
+ | `.env` | All | Commit |
175
+ | `.env.local` | All (local only) | Ignore |
176
+ | `.env.development` | Development | Commit |
177
+ | `.env.development.local` | Development (local only) | Ignore |
178
+
80
179
  ## Output
81
- - Working development environment with hot reload
82
- - Configured test suite with mocking
83
- - Environment variable management
84
- - Fast iteration cycle for Vercel development
180
+
181
+ - Local dev server running with serverless function emulation
182
+ - Environment variables synced from Vercel to local `.env` files
183
+ - Hot reload on file changes
184
+ - Test suite for serverless function handlers
85
185
 
86
186
  ## Error Handling
187
+
87
188
  | Error | Cause | Solution |
88
189
  |-------|-------|----------|
89
- | Module not found | Missing dependency | Run `npm install` |
90
- | Port in use | Another process | Kill process or change port |
91
- | Env not loaded | Missing .env.local | Copy from .env.example |
92
- | Test timeout | Slow network | Increase test timeout |
93
-
94
- ## Examples
95
-
96
- ### Mock Vercel Responses
97
- ```typescript
98
- vi.mock('vercel', () => ({
99
- VercelClient: vi.fn().mockImplementation(() => ({
100
- // Mock methods here
101
- })),
102
- }));
103
- ```
104
-
105
- ### Debug Mode
106
- ```bash
107
- # Enable verbose logging
108
- DEBUG=VERCEL=* npm run dev
109
- ```
190
+ | `vercel dev` hangs on start | Port already in use | Kill the process on port 3000 or use `--listen 8080` |
191
+ | `Error: No framework detected` | Missing package.json or framework | Add a build framework or use plain functions in `api/` |
192
+ | Env var undefined locally | Not pulled from Vercel | Run `vercel env pull .env.development.local` |
193
+ | `FUNCTION_INVOCATION_TIMEOUT` | Function exceeds 10s locally | Check for unresolved promises or infinite loops |
194
+ | TypeScript errors in `api/` | Missing `@vercel/node` types | `npm install --save-dev @vercel/node` |
110
195
 
111
196
  ## Resources
112
- - [Vercel SDK Reference](https://vercel.com/docs/sdk)
197
+
198
+ - [Vercel Dev Command](https://vercel.com/docs/cli/dev)
199
+ - [Environment Variables](https://vercel.com/docs/environment-variables)
200
+ - [Vercel Functions](https://vercel.com/docs/functions)
113
201
  - [Vitest Documentation](https://vitest.dev/)
114
- - [tsx Documentation](https://github.com/esbuild-kit/tsx)
115
202
 
116
203
  ## Next Steps
117
- See `vercel-sdk-patterns` for production-ready code patterns.
204
+
205
+ Proceed to `vercel-sdk-patterns` for production-ready REST API integration patterns.
@@ -0,0 +1,11 @@
1
+ # Error Handling Reference
2
+
3
+ | Error | Cause | Solution |
4
+ |-------|-------|----------|
5
+ | Module not found | Missing dependency | Run `npm install` |
6
+ | Port in use | Another process | Kill process or change port |
7
+ | Env not loaded | Missing .env.local | Copy from .env.example |
8
+ | Test timeout | Slow network | Increase test timeout |
9
+
10
+ ---
11
+ *[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
@@ -0,0 +1,21 @@
1
+ ## Examples
2
+
3
+ ### Mock Vercel Responses
4
+
5
+ ```typescript
6
+ vi.mock('vercel', () => ({
7
+ VercelClient: vi.fn().mockImplementation(() => ({
8
+ // Mock methods here
9
+ })),
10
+ }));
11
+ ```
12
+
13
+ ### Debug Mode
14
+
15
+ ```bash
16
+ # Enable verbose logging
17
+ DEBUG=VERCEL=* npm run dev
18
+ ```
19
+
20
+ ---
21
+ *[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
@@ -0,0 +1,60 @@
1
+ ## Implementation Guide
2
+
3
+ ### Step 1: Create Project Structure
4
+
5
+ ```
6
+ my-vercel-project/
7
+ ├── src/
8
+ │ ├── vercel/
9
+ │ │ ├── client.ts # Vercel client wrapper
10
+ │ │ ├── config.ts # Configuration management
11
+ │ │ └── utils.ts # Helper functions
12
+ │ └── index.ts
13
+ ├── tests/
14
+ │ └── vercel.test.ts
15
+ ├── .env.local # Local secrets (git-ignored)
16
+ ├── .env.example # Template for team
17
+ └── package.json
18
+ ```
19
+
20
+ ### Step 2: Configure Environment
21
+
22
+ ```bash
23
+ # Copy environment template
24
+ cp .env.example .env.local
25
+
26
+ # Install dependencies
27
+ npm install
28
+
29
+ # Start development server
30
+ npm run dev
31
+ ```
32
+
33
+ ### Step 3: Setup Hot Reload
34
+
35
+ ```json
36
+ {
37
+ "scripts": {
38
+ "dev": "tsx watch src/index.ts",
39
+ "test": "vitest",
40
+ "test:watch": "vitest --watch"
41
+ }
42
+ }
43
+ ```
44
+
45
+ ### Step 4: Configure Testing
46
+
47
+ ```typescript
48
+ import { describe, it, expect, vi } from 'vitest';
49
+ import { VercelClient } from '../src/vercel/client';
50
+
51
+ describe('Vercel Client', () => {
52
+ it('should initialize with API key', () => {
53
+ const client = new VercelClient({ apiKey: 'test-key' });
54
+ expect(client).toBeDefined();
55
+ });
56
+ });
57
+ ```
58
+
59
+ ---
60
+ *[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*