Agent Skill
2/7/2026

tdd-workflow

Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage using Vitest (client) and pytest (backend).

K
konstantin212
0GitHub Stars
1Views
npx skills add Konstantin212/countOnMe

SKILL.md

Nametdd-workflow
DescriptionUse this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage using Vitest (client) and pytest (backend).

CountOnMe

A fast, offline-first calorie tracking app built with React Native (Expo) and FastAPI.

Project Structure

countOnMe/
├── .env                  # Environment variables (gitignored)
├── .env.example          # Example environment configuration
├── docker-compose.yml    # Docker services (PostgreSQL + API)
├── backend/              # FastAPI backend
│   ├── Dockerfile
│   ├── app/              # Application code
│   ├── alembic/          # Database migrations
│   └── pyproject.toml    # Python dependencies
└── client/               # React Native (Expo) app
    ├── src/              # Application code
    ├── assets/           # Images and icons
    └── package.json      # Node dependencies

Quick Start

1. Environment Setup

Copy the example environment file and update with your settings:

cp .env.example .env

Update EXPO_PUBLIC_API_URL with your local IP address (find it with ipconfig on Windows or ifconfig on Mac/Linux).

2. Start the Backend

# Start PostgreSQL and API
docker-compose up -d

# Run database migrations
docker-compose exec api alembic upgrade head

The API will be available at http://localhost:8000.

3. Start the Client

cd client
pnpm install
pnpm start

Scan the QR code with Expo Go app on your phone, or press a for Android emulator.

Development

Backend

# View logs
docker-compose logs -f api

# Run migrations
docker-compose exec api alembic upgrade head

# Create new migration
docker-compose exec api alembic revision --autogenerate -m "description"

Client

  • Framework: React Native with Expo SDK 54
  • Navigation: React Navigation 7
  • State: React hooks + AsyncStorage
cd client

# Run tests
pnpm test

# Start with cache clear
pnpm start --clear

Environment Variables

See .env.example for all available configuration options.

VariableDescriptionDefault
EXPO_PUBLIC_API_URLBackend API URL for mobile apphttp://localhost:8000
DATABASE_URLPostgreSQL connection stringDocker network URL
DEVICE_TOKEN_PEPPERSecret for device token hashingchange-me
Skills Info
Original Name:tdd-workflowAuthor:konstantin212