Struktur proyek

Direktori app/, text.config.ts, dan CLI text.

Folder di app/ menentukan route, dan file khusus menentukan UI untuk setiap route.

Folder

FolderFungsi
appRoute, layout, dan route handler
libModul bersama, tidak dijadikan route
publicAset statis

File routing

FileFungsi
layout.tsxUI bersama untuk suatu segmen
page.tsxLayar yang dapat diakses melalui route
loading.tsxFallback Suspense
error.tsxError boundary
not-found.tsxURL yang tidak cocok
route.tsEndpoint API
app/├── layout.tsx            → shared shell├── page.tsx              → /├── sessions/│   ├── page.tsx          → /sessions│   └── [id]/page.tsx     → /sessions/:id└── api/health/route.ts   → GET /api/health

Route dinamis

FolderURLparams
[id]/sessions/42{ id: "42" }
[...slug]/docs/a/b{ slug: ["a", "b"] }

text.config.ts

text.config.tsts
import { defineConfig } from "@textjs/app";export default defineConfig({  title: "Acme",  viewport: { width: 120, height: 36, theme: "geistDark" },  hints: [{ keys: "↑ ↓", label: "count" }],});
OpsiNilai defaultDeskripsi
title""Judul halaman dan FocusPad
viewportsesuaikan dengan konsol, jika tidak 120×36responsive (default true), fallback width × height, theme
hints[]Dua atau tiga tombol yang ditampilkan pada FocusPad halaman
actionpress <first hint>Tindakan setelah mendapat fokus, misalnya "type a prompt"
devIndicatorstrueDev Overlay di dalam konsol ([▼])
focusHinttrue“Klik halaman untuk menggunakan keyboard” di atas baris terakhir konsol saat halaman tidak memiliki fokus
rewrites[]Rewrite dan proksi
ansi{ cols: 80, rows: 24 }Ukuran frame untuk curl dan klien terminal, atau false untuk menyajikan HTML kepada klien tersebut

CLI

PerintahDeskripsi
text devServer pengembangan dengan Fast Refresh
text buildBuild produksi
text startSajikan build dan route handler
text runRender aplikasi di terminal (Terminal)
text mcpSajikan aplikasi kepada agen pemrograman (MCP)
Edit halaman ini di GitHub