بنية المشروع

الدليل ⁦app/⁩، والملف text.config.ts، وواجهة سطر الأوامر text.

تحدد المجلدات في app/ المسارات، وتحدد الملفات الخاصة واجهة المستخدم لكل مسار.

المجلدات

المجلدالغرض
appالمسارات والتخطيطات ومعالجات المسارات
libوحدات مشتركة غير مرتبطة بمسارات
publicأصول ثابتة

ملفات التوجيه

الملفالغرض
layout.tsxواجهة مستخدم مشتركة لمقطع
page.tsxشاشة قابلة للوصول عبر مسار
loading.tsxمحتوى بديل عند تعليق العرض باستخدام Suspense
error.tsxحدود الأخطاء
not-found.tsxعناوين URL غير المطابقة
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

المسارات الديناميكية

المجلدURLparams
[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" }],});
الخيارالقيمة الافتراضيةالوصف
title""عنوان الصفحة و FocusPad
viewportملاءمة وحدة التحكم، وإلا 120×36responsive (القيمة الافتراضية true)، والأبعاد البديلة width × height، و theme
hints[]مفتاحان أو ثلاثة مفاتيح تظهر على FocusPad في الصفحة
actionpress <first hint>الإجراء المطلوب بعد التركيز، مثل "type a prompt"
devIndicatorstrueطبقة التطوير داخل وحدة التحكم ([▼])
focusHinttrue«انقر على الصفحة لاستخدام لوحة المفاتيح» فوق الصف الأخير في وحدة التحكم عندما لا يكون التركيز على الصفحة
rewrites[]إعادة الكتابة والوكلاء
ansi{ cols: 80, rows: 24 }حجم الإطار لعملاء curl والطرفية، أو false لتقديم HTML لهم

واجهة سطر الأوامر

الأمرالوصف
text devخادم تطوير مع ⁦Fast Refresh⁩
text buildبناء للإنتاج
text startتقديم البناء ومعالجات المسارات
text runعرض التطبيق في الطرفية (الطرفية)
text mcpتقديم التطبيق لوكلاء البرمجة (MCP)
تحرير هذه الصفحة على GitHub