Awesome-omni-skill local-development

Running functions and web app locally, troubleshooting emulator issues, Storybook. Use when running or debugging locally.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/local-development" ~/.claude/skills/diegosouzapw-awesome-omni-skill-local-development && rm -rf "$T"
manifest: skills/development/local-development/SKILL.md
source content

Local Development

When to Use

Use this skill when running the web app or functions locally, troubleshooting emulator issues, or running Storybook.

Important

The user runs functions and web app locally for testing. Claude writes code and creates PRs -- Claude does NOT deploy or run dev servers.

Running Functions Locally (user runs this)

npx nx run functions:serve

This command:

  1. Builds the functions
  2. Copies
    .env.dev
    to
    dist/apps/functions/.env
  3. Starts watch mode for rebuilds (background)
  4. Runs
    firebase serve --only functions --project=dev
    on port 5001

Running Web App Locally (user runs this)

npx nx run maple-spruce:serve

Runs on http://localhost:3000

Running Storybook

npx nx run maple-spruce:storybook
# Opens http://localhost:6006

Building Storybook:

npx nx run maple-spruce:build-storybook
# Output: dist/storybook/maple-spruce

Running Tests

npm test

Deployment

User decides when to deploy to dev. Production deploys automatically via CI/CD on merge to main.

Troubleshooting Local Functions

Emulator prompts for environment variables

The Firebase emulator is not finding the

.env
file. This happens when:

  • The build clears
    dist/apps/functions/
    before the
    .env
    is copied
  • A stale watch process is interfering

Fix:

# Kill any stale processes
pkill -f "firebase serve"
pkill -f "nx run functions"

# Clean and restart
rm -rf dist/apps/functions
npx nx run functions:serve

Why this happens:

  • Firebase reads
    .env
    from
    dist/apps/functions/
  • The
    nx run functions:build
    clears this directory
  • The serve command copies
    .env.dev
    after build, before starting the emulator
  • If ordering is wrong or stale processes exist, the emulator starts without the
    .env

Key indicator it's working:

i  functions: Loaded environment variables from .env.