Proje yapısı

app/ dizini, text.config.ts ve text CLI.

app/ içindeki klasörler rotaları, özel dosyalar ise her rotanın kullanıcı arayüzünü tanımlar.

Klasörler

KlasörAmaç
appRotalar, layout’lar ve rota işleyicileri
libRotalanmayan ortak modüller
publicStatik varlıklar

Rotalama dosyaları

DosyaAmaç
layout.tsxBir segmentin ortak kullanıcı arayüzü
page.tsxRotalanabilir bir ekran
loading.tsxSuspense yedek arayüzü
error.tsxHata sınırı
not-found.tsxEşleşmeyen URL’ler
route.tsAPI uç noktası
app/├── layout.tsx            → shared shell├── page.tsx              → /├── sessions/│   ├── page.tsx          → /sessions│   └── [id]/page.tsx     → /sessions/:id└── api/health/route.ts   → GET /api/health

Dinamik rotalar

KlasörURLparams
[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" }],});
SeçenekVarsayılanAçıklama
title""Sayfa ve FocusPad başlığı
viewportkonsola sığdırma, aksi durumda 120×36responsive (varsayılan true), yedek boyut width × height, theme
hints[]Sayfanın FocusPad bileşeninde gösterilen iki veya üç tuş
actionpress <first hint>Odaklandıktan sonra yapılacak işlem, ör. "type a prompt"
devIndicatorstrueKonsol içi geliştirme katmanı ([▼])
focusHinttrueSayfa odakta değilken konsolun son satırının üzerinde gösterilen “Klavyeyi kullanmak için sayfaya tıklayın” metni
rewrites[]Yeniden yazmalar ve proxy’ler
ansi{ cols: 80, rows: 24 }curl ve terminal istemcileri için kare boyutu veya bu istemcilere HTML sunmak için false

CLI

KomutAçıklama
text devFast Refresh destekli geliştirme sunucusu
text buildÜretim derlemesi
text startDerlemeyi ve rota işleyicilerini sunma
text runUygulamayı terminalde render etme (Terminal)
text mcpUygulamayı kodlama ajanlarına sunma (MCP)
Bu sayfayı GitHub’da düzenle