پروجیکٹ کی ساخت
app/ ڈائریکٹری، text.config.ts اور text CLI۔
app/ میں فولڈرز روٹس کی تعریف کرتے ہیں، اور خاص فائلیں ہر روٹ کے UI کی تعریف کرتی ہیں۔
#فولڈرز
| فولڈر | مقصد |
|---|
app | روٹس، لے آؤٹس اور روٹ ہینڈلرز |
lib | مشترکہ ماڈیولز، روٹنگ میں شامل نہیں |
public | اسٹیٹک اثاثے |
#روٹنگ فائلیں
| فائل | مقصد |
|---|
layout.tsx | سیگمنٹ کا مشترکہ UI |
page.tsx | روٹ سے قابل رسائی اسکرین |
loading.tsx | Suspense فال بیک |
error.tsx | ایرر باؤنڈری |
not-found.tsx | کسی روٹ سے میل نہ کھانے والے URLs |
route.ts | API اینڈ پوائنٹ |
app/├── layout.tsx → shared shell├── page.tsx → /├── sessions/│ ├── page.tsx → /sessions│ └── [id]/page.tsx → /sessions/:id└── api/health/route.ts → GET /api/health
#ڈائنامک روٹس
| فولڈر | URL | params |
|---|
[id] | /sessions/42 | { id: "42" } |
[...slug] | /docs/a/b | { slug: ["a", "b"] } |
#text.config.ts
import { defineConfig } from "@textjs/app";export default defineConfig({ title: "Acme", viewport: { width: 120, height: 36, theme: "geistDark" }, hints: [{ keys: "↑ ↓", label: "count" }],});
| آپشن | ڈیفالٹ | تفصیل |
|---|
title | "" | صفحے اور FocusPad کا عنوان |
viewport | کونسول کے مطابق، ورنہ 120×36 | responsive (ڈیفالٹ true)، فال بیک width × height، theme |
hints | [] | صفحے کے FocusPad پر دکھائی جانے والی دو یا تین کلیدیں |
action | press <first hint> | فوکس ہونے کے بعد کیا کرنا ہے، مثلاً "type a prompt" |
devIndicators | true | کونسول میں Dev Overlay ([▼]) |
focusHint | true | جب صفحے پر فوکس نہ ہو تو کونسول کی آخری قطار پر “کی بورڈ استعمال کرنے کے لیے صفحے پر کلک کریں” |
rewrites | [] | ری رائٹس اور پراکسیز |
ansi | { cols: 80, rows: 24 } | curl اور ٹرمینل کلائنٹس کے لیے فریم کا سائز، یا انہیں HTML فراہم کرنے کے لیے false |
#CLI
| کمانڈ | تفصیل |
|---|
text dev | Fast Refresh کے ساتھ ڈیو سرور |
text build | پروڈکشن بلڈ |
text start | بلڈ اور روٹ ہینڈلرز پیش کریں |
text run | ایپ کو ٹرمینل میں رینڈر کریں (ٹرمینل) |
text mcp | کوڈنگ ایجنٹس کو ایپ فراہم کریں (MCP) |
GitHub پر اس صفحے میں ترمیم کریں