AppStore Trusted Web Apps

Build a free app with AI.

Follow these steps to go from zero to a deployed app on FreeAppStore. Works with Claude Code, Cursor, Copilot, or any AI tool. Your app gets free hosting, a subdomain, and a listing in the store.

Prerequisites

You need Node.js and pnpm installed. If you already have them, skip to Step 1.

# Check if Node is installed (need v20+) node --version # v20.x.x or higher? You're good. If not: # Install Node.js (macOS) brew install node # Install Node.js (Windows) — download from nodejs.org # Install Node.js (Linux) curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs
# Install pnpm (the package manager) npm install -g pnpm # Verify pnpm --version # Should print 10.x.x

Step-by-step: Claude Code (terminal)

Full walkthrough using Claude Code. Other tools follow the same steps — see tool-specific setup below.

  1. Install Claude Code and the FreeAppStore CLI

    # Install Claude Code (Anthropic's terminal AI) npm install -g @anthropic-ai/claude-code # Install the FreeAppStore CLI npm install -g @freeappstore/cli # Verify both installed claude --version fas --version
  2. Log in to FreeAppStore

    # Sign in with your GitHub account fas login # Opens GitHub in your browser for OAuth. # Once approved, you'll see: # ✓ Logged in as your-username
  3. Create your app from a template

    # Scaffold a new app fas init my-app # Output: # Creating my-app... # [1/3] Cloning template-standalone... # [2/3] Installing dependencies... # [3/3] Initializing git... # Done! # Go into the project cd my-app

    This creates a React + Vite + Tailwind project with the FreeAppStore design system, fonts, and CSS variables already set up.

  4. Start Claude Code

    # Launch Claude Code in the project claude

    Claude Code reads CLAUDE.md automatically. For even deeper integration, connect the MCP server:

    # Add to ~/.claude.json for MCP tools (optional but powerful) { "mcpServers": { "freeappstore": { "command": "npx", "args": ["mcp-remote", "https://mcp.freeappstore.online/mcp"] } } }

    With MCP, Claude can check deploy status, look up SDK docs, and list your apps as tool calls. Without it, Claude still reads SKILLS.md for full platform context. MCP docs →

  5. Tell Claude what to build

    Type your prompt in the Claude Code terminal. Be specific.

    # Example prompts: Build a pomodoro timer with work and break sessions. 25 min work, 5 min break, 15 min long break. Show session count. Play a sound when the timer ends. Save progress in localStorage. # Or with the SDK for connected features: Build a flashcard app. Let users create decks and cards. Use app.kv to save cards per user. Add a shared counter with app.counters to track total cards created across all users. Use useAuth for sign-in.

    Claude edits web/src/App.tsx and creates any files needed. It follows the design system from skills.md.

  6. Run it locally

    # Start the dev server pnpm dev # Output: # VITE v8.x.x ready in 200ms # ➜ Local: http://localhost:5173/ # Open http://localhost:5173 in your browser

    Make changes, and the page updates instantly (hot reload).

  7. Check compliance

    # Run the platform compliance checker fas check # ✓ TypeScript strict mode # ✓ No tracking/analytics # ✓ No cookies # ✓ Manrope + Fraunces fonts # ✓ Dark mode supported # ✓ PWA manifest present # ✓ MIT license # All checks passed!

    If anything fails, Claude Code can fix it — just tell it which check failed.

  8. Publish and deploy

    # Publish to the store (creates repo + hosting + DNS) fas publish # ✓ Created repo: freeappstore-online/my-app # ✓ Hosting route configured # ✓ Live at: my-app.freeappstore.online # ✓ Added deploy.yml workflow # Future deploys: just push to main git push origin main # Your app is live at: # https://my-app.freeappstore.online
That's it. Eight steps from zero to a published app on FreeAppStore. Free hosting, free subdomain, listed in the store. All free, forever.

Other AI tools

Steps 1-3 and 6-8 are the same for every tool. The only difference is Step 4 — how you tell the AI about the platform. Add this line to the tool's instruction file:

See https://freeappstore.online/skills.md for platform conventions.

Here's where that line goes for each tool:

Terminal

Claude Code

Auto-reads from project root.

CLAUDE.md
Editor

Cursor

Create in project root.

.cursorrules
Editor

GitHub Copilot

Create in .github folder.

.github/copilot-instructions.md
Terminal

Codex CLI

Create in project root.

AGENTS.md
Terminal

Aider

Create in project root.

CONVENTIONS.md
Editor

Windsurf

Create in project root.

.windsurfrules
Editor

Cline

Paste in custom instructions.

Settings → Custom
Editor

Zed

Paste in assistant context.

Assistant panel
Editor

Continue

Create in project root.

.continuerules
Web

ChatGPT

Paste skills.md into chat.

Paste in chat

SDK cheat sheet

Copy-paste these into your AI prompts for connected apps (apps that need sign-in, storage, or real-time features).

// Add the SDK to your project pnpm add @freeappstore/sdk // Initialize import { init } from '@freeappstore/sdk' const app = init({ appId: 'my-app' }) // Auth (sign in with GitHub) await app.auth.init() app.auth.signIn() app.auth.onChange(user => console.log(user)) // Per-user storage (each user gets their own data) await app.kv.set('notes', ['Buy milk', 'Walk dog']) const notes = await app.kv.get('notes') await app.kv.delete('notes') // Shared counters (visible to all users) await app.counters.increment('page-views') const count = await app.counters.get('page-views') // Real-time rooms (chat, multiplayer) const room = app.rooms.join('lobby') room.send({ text: 'hello' }) room.onMessage(msg => console.log(msg)) room.onPeers(peers => console.log(peers.length, 'online'))

Standalone vs Connected apps

Standalone

No sign-in needed. Data saved in localStorage on the user's device. Works fully offline. Timer, calculator, notes, converter — most apps are this type.

Connected

Uses @freeappstore/sdk for sign-in, per-user cloud storage, shared counters, and real-time rooms. Messenger, social apps, collaborative tools.

Build straight from your editor (MCP)

Connect the FreeAppStore MCP server and build, publish, and improve apps without ever leaving Claude Code or Cursor.

# Claude Code claude mcp add freeappstore -- npx mcp-remote https://mcp.freeappstore.online/mcp # Cursor — add a server with this command: npx mcp-remote https://mcp.freeappstore.online/mcp

Your AI writes, MCP ships

Your editor's AI generates the code, then ships it through the platform with create_app, update_files, read_file, and list_files.

Just prompt — agent builds it

Hand it off entirely: agent_build kicks off the platform's VibeCode agent (using an AI key from your vault) and agent_status tracks it. No local code needed.

Full MCP guide →

Also available

VibeCode (no-code)

Don't want to use a terminal? console.freeappstore.online/create lets you describe your app in plain English and AI builds it for you in the browser.

Need a database?

Free apps use localStorage. If you need SQL databases, file uploads, maps, or payments, check ProAppStore.

Other reading