מבנה הפרויקט

הספרייה ⁦app/⁩, הקובץ text.config.ts וה-CLI של text.

תיקיות בתוך app/ מגדירות נתיבים, וקבצים מיוחדים מגדירים את ממשק המשתמש לכל נתיב.

תיקיות

תיקייהמטרה
appנתיבים, layout ומטפלי נתיב
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

CLI

פקודהתיאור
text devשרת פיתוח עם ⁦Fast Refresh⁩
text buildבנייה לסביבת ייצור
text startהגשת הבנייה ומטפלי הנתיב
text runרינדור האפליקציה בטרמינל (טרמינל)
text mcpהגשת האפליקציה לסוכני תכנות (MCP)
עריכת הדף ב-GitHub