Configure Exa local development with hot reload and testing. Use when setting up a development environment, configuring test workflows, or establishing a fast iteration cycle with Exa. Trigger with phrases like "exa dev setup", "exa local development", "exa dev environment", "develop with exa".
Scanned 9/1/2026
Install to Claude Code
npx -y skills add Dicklesworthstone/pi_agent_rust --skill exa-local-dev-loop --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Exa Local Dev Loop?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dicklesworthstone-exa-local-dev-loop)More formats (shields.io, HTML) on the badges page.
---
name: exa-local-dev-loop
description: |
Configure Exa local development with hot reload and testing.
Use when setting up a development environment, configuring test workflows,
or establishing a fast iteration cycle with Exa.
Trigger with phrases like "exa dev setup", "exa local development",
"exa dev environment", "develop with exa".
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pnpm:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
---
# Exa Local Dev Loop
## Overview
Set up a fast, reproducible local development workflow for Exa.
## Prerequisites
- Completed `exa-install-auth` setup
- Node.js 18+ with npm/pnpm
- Code editor with TypeScript support
- Git for version control
## Instructions
### Step 1: Create Project Structure
```
my-exa-project/
├── src/
│ ├── exa/
│ │ ├── client.ts # Exa client wrapper
│ │ ├── config.ts # Configuration management
│ │ └── utils.ts # Helper functions
│ └── index.ts
├── tests/
│ └── exa.test.ts
├── .env.local # Local secrets (git-ignored)
├── .env.example # Template for team
└── package.json
```
### Step 2: Configure Environment
```bash
# Copy environment template
cp .env.example .env.local
# Install dependencies
npm install
# Start development server
npm run dev
```
### Step 3: Setup Hot Reload
```json
{
"scripts": {
"dev": "tsx watch src/index.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
```
### Step 4: Configure Testing
```typescript
import { describe, it, expect, vi } from 'vitest';
import { ExaClient } from '../src/exa/client';
describe('Exa Client', () => {
it('should initialize with API key', () => {
const client = new ExaClient({ apiKey: 'test-key' });
expect(client).toBeDefined();
});
});
```
## Output
- Working development environment with hot reload
- Configured test suite with mocking
- Environment variable management
- Fast iteration cycle for Exa development
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Module not found | Missing dependency | Run `npm install` |
| Port in use | Another process | Kill process or change port |
| Env not loaded | Missing .env.local | Copy from .env.example |
| Test timeout | Slow network | Increase test timeout |
## Examples
### Mock Exa Responses
```typescript
vi.mock('@exa/sdk', () => ({
ExaClient: vi.fn().mockImplementation(() => ({
// Mock methods here
})),
}));
```
### Debug Mode
```bash
# Enable verbose logging
DEBUG=EXA=* npm run dev
```
## Resources
- [Exa SDK Reference](https://docs.exa.com/sdk)
- [Vitest Documentation](https://vitest.dev/)
- [tsx Documentation](https://github.com/esbuild-kit/tsx)
## Next Steps
See `exa-sdk-patterns` for production-ready code patterns.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!