प्रोजेक्ट की संरचना
app/ डायरेक्टरी, text.config.ts और text CLI।
app/ में फ़ोल्डर रूट तय करते हैं, और विशेष फ़ाइलें हर रूट का UI तय करती हैं।
#फ़ोल्डर
| फ़ोल्डर | उद्देश्य |
|---|
app | रूट, लेआउट और रूट हैंडलर |
lib | साझा मॉड्यूल, जिनकी रूटिंग नहीं होती |
public | स्टैटिक एसेट |
#रूटिंग फ़ाइलें
| फ़ाइल | उद्देश्य |
|---|
layout.tsx | सेगमेंट का साझा UI |
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 और टर्मिनल क्लाइंट के लिए फ़्रेम का आकार, या उन्हें HTML सर्व करने के लिए false |
#CLI
| कमांड | विवरण |
|---|
text dev | Fast Refresh के साथ डेव सर्वर |
text build | प्रोडक्शन बिल्ड |
text start | बिल्ड और रूट हैंडलर सर्व करें |
text run | ऐप को टर्मिनल में रेंडर करें (टर्मिनल) |
text mcp | कोडिंग एजेंट को ऐप सर्व करें (MCP) |
GitHub पर यह पेज एडिट करें