encoredev/skills

encore-getting-started

Bootstrap a brand-new Encore.ts project from zero.

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Getting Started with Encore.ts

Instructions

Install Encore CLI

bash
# macOS
brew install encoredev/tap/encore

# Linux/WSL
curl -L https://encore.dev/install.sh | bash

# Windows (PowerShell)
iwr https://encore.dev/install.ps1 | iex

Create a New App

bash
# Interactive - choose from templates
encore app create my-app

# Or start with a blank app
encore app create my-app --example=ts/hello-world

Project Structure

A minimal Encore.ts app:

my-app/
├── encore.app           # App configuration
├── package.json         # Dependencies
├── tsconfig.json        # TypeScript config
├── encore.service.ts    # Service definition
└── api.ts               # API endpoints

The encore.app File

cue
// encore.app
{
    "id": "my-app"
}

This file marks the root of your Encore app. The id is your app's unique identifier.

Define a Service

Create encore.service.ts to define a service:

typescript
// encore.service.ts
import { Service } from "encore.dev/service";

export default new Service("my-service");

Create Your First API

typescript
// api.ts
import { api } from "encore.dev/api";

interface HelloResponse {
  message: string;
}

export const hello = api(
  { method: "GET", path: "/hello", expose: true },
  async (): Promise<HelloResponse> => {
    return { message: "Hello, World!" };
  }
);

Run Your App

bash
# Start the development server
encore run

# Your API is now available at http://localhost:4000

Open the Local Dashboard

bash
# Opens the local development dashboard
encore run
# Then visit http://localhost:9400

The dashboard shows:

  • All your services and endpoints
  • Request/response logs
  • Database queries
  • Traces and spans

Common CLI Commands

CommandDescription
encore runStart the local development server
encore testRun tests
encore db shell <db>Open a psql shell to a database
encore gen clientGenerate API client code
encore app linkLink to an existing Encore Cloud app

Add a Database

typescript
// db.ts
import { SQLDatabase } from "encore.dev/storage/sqldb";

const db = new SQLDatabase("mydb", {
  migrations: "./migrations",
});

Create a migration:

sql
-- migrations/1_create_table.up.sql
CREATE TABLE items (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL
);

Next Steps

  • Add more endpoints (see encore-api skill)
  • Add authentication (see encore-auth skill)
  • Add Pub/Sub topics (encore-pubsub), cron jobs (encore-cron), buckets (encore-bucket), secrets (encore-secret), or caching (encore-cache)
  • Deploy to Encore Cloud: encore app link then git push encore
du même dépôt

Autres Skills

Tous les Skills