بنية المشروع
الدليل 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
#المسارات الديناميكية
| المجلد | 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 | طبقة التطوير داخل وحدة التحكم ([▼]) |
focusHint | true | «انقر على الصفحة لاستخدام لوحة المفاتيح» فوق الصف الأخير في وحدة التحكم عندما لا يكون التركيز على الصفحة |
rewrites | [] | إعادة الكتابة والوكلاء |
ansi | { cols: 80, rows: 24 } | حجم الإطار لعملاء curl والطرفية، أو false لتقديم HTML لهم |
#واجهة سطر الأوامر
| الأمر | الوصف |
|---|
text dev | خادم تطوير مع Fast Refresh |
text build | بناء للإنتاج |
text start | تقديم البناء ومعالجات المسارات |
text run | عرض التطبيق في الطرفية (الطرفية) |
text mcp | تقديم التطبيق لوكلاء البرمجة (MCP) |
تحرير هذه الصفحة على GitHub