מבנה הפרויקט
הספרייה 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
#נתיבים דינמיים
| תיקייה | 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