界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

gamma-local-dev-loop

gamma-local-dev-loop

【开发与工程】Set up efficient local development workflow for Gamma. Use when configuring hot reload, mock responses, or optimizing your Gamma development experience. Trigger with phrases like "gamma local dev", "gamma development setup", "gamma hot reload", "gamma mock", "gamma dev workflow".

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: gamma-local-dev-loop description: | Set up efficient local development workflow for Gamma. Use when configuring hot reload, mock responses, or optimizing your Gamma development experience. Trigger with phrases like "gamma local dev", "gamma development setup", "gamma hot reload", "gamma mock", "gamma dev workflow". allowed-tools: Read, Write, Edit, Bash(npm:), Bash(node:) version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io

Gamma Local Dev Loop

Overview

Configure an efficient local development workflow with hot reload and mock responses for Gamma presentation development.

Prerequisites

  • Completed gamma-hello-world setup
  • Node.js 18+ with nodemon or tsx
  • TypeScript project (recommended)

Instructions

Step 1: Install Dev Dependencies

npm install -D nodemon tsx dotenv @types/node

Step 2: Configure Development Script

Add to package.json:

{
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "dev:mock": "GAMMA_MOCK=true tsx watch src/index.ts"
  }
}

Step 3: Create Mock Client

// src/gamma-client.ts
import { GammaClient } from '@gamma/sdk';

const isMock = process.env.GAMMA_MOCK === 'true';

export const gamma = isMock
  ? createMockClient()
  : new GammaClient({ apiKey: process.env.GAMMA_API_KEY });

function createMockClient() {
  return {
    presentations: {
      create: async (opts) => ({
        id: 'mock-123',
        url: 'https://gamma.app/mock/preview',
        title: opts.title,
      }),
    },
  };
}

Step 4: Set Up Environment Files

# .env.development
GAMMA_API_KEY=your-dev-key
GAMMA_MOCK=false

# .env.test
GAMMA_MOCK=true

Output

  • Hot reload development server
  • Mock client for offline development
  • Environment-based configuration
  • Fast iteration cycle

Error Handling

ErrorCauseSolution
Watch ErrorFile permissionsCheck nodemon config
Mock MismatchMock out of syncUpdate mock responses
Env Not Loadeddotenv not configuredAdd import 'dotenv/config'

Examples

Watch Mode Development

npm run dev
# Changes to src/*.ts trigger automatic restart

Offline Development with Mocks

npm run dev:mock
# Uses mock responses, no API calls

Resources

Next Steps

Proceed to gamma-sdk-patterns for advanced SDK usage patterns.

我的收藏