ساختار پروژه
دایرکتوری 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 به آنها |
#CLI
| دستور | توضیحات |
|---|
text dev | سرور توسعه با Fast Refresh |
text build | بیلد محیط عملیاتی |
text start | ارائهٔ بیلد و کنترلگرهای مسیر |
text run | رندر برنامه در ترمینال (ترمینال) |
text mcp | ارائهٔ برنامه به عاملهای کدنویسی (MCP) |
ویرایش این صفحه در GitHub