← スキル一覧に戻る

deepgram-local-dev-loop
by jeremylongshore
deepgram-local-dev-loopは、システム間の統合と連携を実現するスキルです。APIとデータの統合により、シームレスな情報フローと業務効率の向上をサポートします。
⭐ 1,042🍴 135📅 2026年1月23日
SKILL.md
name: deepgram-local-dev-loop description: | Configure Deepgram local development workflow with testing and iteration. Use when setting up development environment, configuring test fixtures, or establishing rapid iteration patterns for Deepgram integration. Trigger with phrases like "deepgram local dev", "deepgram development setup", "deepgram test environment", "deepgram dev workflow". allowed-tools: Read, Write, Edit, Bash(npm:), Bash(pip:), Grep version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io
Deepgram Local Dev Loop
Overview
Set up an efficient local development workflow for Deepgram integration with fast feedback cycles.
Prerequisites
- Completed
deepgram-install-authsetup - Node.js 18+ with npm/pnpm or Python 3.10+
- Sample audio files for testing
- Environment variables configured
Instructions
Step 1: Create Project Structure
mkdir -p src tests fixtures
touch src/transcribe.ts tests/transcribe.test.ts
Step 2: Set Up Environment Files
# .env.development
DEEPGRAM_API_KEY=your-dev-api-key
DEEPGRAM_MODEL=nova-2
# .env.test
DEEPGRAM_API_KEY=your-test-api-key
DEEPGRAM_MODEL=nova-2
Step 3: Create Test Fixtures
# Download sample audio for testing
curl -o fixtures/sample.wav https://static.deepgram.com/examples/nasa-podcast.wav
Step 4: Set Up Watch Mode
{
"scripts": {
"dev": "tsx watch src/transcribe.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
Output
- Project structure with src, tests, fixtures directories
- Environment files for development and testing
- Watch mode scripts for rapid iteration
- Sample audio fixtures for testing
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Fixture Not Found | Missing audio file | Run fixture download script |
| Env Not Loaded | dotenv not configured | Install and configure dotenv |
| Watch Mode Fails | Missing tsx | Install tsx: npm i -D tsx |
| API Rate Limited | Too many dev requests | Use cached responses in tests |
Examples
TypeScript Dev Setup
// src/transcribe.ts
import { createClient } from '@deepgram/sdk';
import { config } from 'dotenv';
config(); // Load .env
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
export async function transcribeAudio(audioPath: string) {
const audio = await Bun.file(audioPath).arrayBuffer();
const { result, error } = await deepgram.listen.prerecorded.transcribeFile(
Buffer.from(audio),
{ model: process.env.DEEPGRAM_MODEL || 'nova-2', smart_format: true }
);
if (error) throw error;
return result.results.channels[0].alternatives[0].transcript;
}
// Dev mode: run with sample
if (import.meta.main) {
transcribeAudio('./fixtures/sample.wav').then(console.log);
}
Test Setup with Vitest
// tests/transcribe.test.ts
import { describe, it, expect, beforeAll } from 'vitest';
import { transcribeAudio } from '../src/transcribe';
describe('Deepgram Transcription', () => {
it('should transcribe audio file', async () => {
const transcript = await transcribeAudio('./fixtures/sample.wav');
expect(transcript).toBeDefined();
expect(transcript.length).toBeGreaterThan(0);
});
it('should handle empty audio gracefully', async () => {
await expect(transcribeAudio('./fixtures/empty.wav'))
.rejects.toThrow();
});
});
Mock Responses for Testing
// tests/mocks/deepgram.ts
export const mockTranscriptResponse = {
results: {
channels: [{
alternatives: [{
transcript: 'This is a test transcript.',
confidence: 0.99,
words: [
{ word: 'This', start: 0.0, end: 0.2, confidence: 0.99 },
{ word: 'is', start: 0.2, end: 0.3, confidence: 0.99 },
]
}]
}]
}
};
Resources
Next Steps
Proceed to deepgram-sdk-patterns for production-ready code patterns.
スコア
総合スコア
85/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
✓人気
GitHub Stars 1000以上
+15
✓最近の活動
3ヶ月以内に更新
+5
✓フォーク
10回以上フォークされている
+5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
レビュー
💬
レビュー機能は近日公開予定です

