k8ordo
  • UI
  • Form
  • State
  • Router
  • Static
  • Server
ダークモードに切り替え
k8ordo

Baselineに入った機能を、制限なく使うReactのライブラリ群。

パッケージ
  • @k8ordo/ui
  • @k8ordo/form
  • @k8ordo/state
  • @k8ordo/router
  • @k8ordo/static
  • @k8ordo/server
UI
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AIチャット
  • Generative UI
  • AIエージェント
  • Storybook
リソース
  • GitHub
  • npm

© 2026 k8o — MIT License

組版 — Noto Sans JP / M PLUS 2

@k8ordo/static

アプリをファイルに焼きます。すべてのルートを事前に描画し、出力は静的ホスティングに置けるディレクトリだけ。実行時にサーバーはいりません。

npmGitHub

ディレクトリが URL

routes/ の木がそのまま pathname 空間になり、表と型の配線は生成されます。

特徴

  • routes/ が URL 空間ディレクトリ木がそのまま pathname 空間です。page/layout/not-found・[param]・(group)・_ の私物だけを認め、規約から外れたものはビルドを落とします。
  • 配線は書かないルート表と、router / state への型の配線は生成されます。生成物はルーターの公開 API を使ったただのソースで、diff で読めます。
  • 境界は検査される実行環境は React 自身の 'use client' で宣言します。server-only を import したモジュールがクライアントに届いた時点でビルドが落ちるので、秘密は間に何段挟まっても渡りません。
  • モードは依存で決まるこのパッケージを入れることが「静的である」ことです。Server Actions もリクエスト依存も、守るべき規則ではなく存在しない API になります。パラメータ付きルートは列挙必須で、欠けたままビルドは通りません。site を渡せば sitemap.xml も書きます。
  • error.tsx と redirect.tsページが throw したら error.tsx が layout の内側に描かれ、枠は残ります。ビルド中に落ちたページはビルドを止めます。移転したディレクトリには redirect.ts を 1 行置くだけです。
  • パラメータにスキーマpage.tsx や layout.tsx が paramsSchema を export すると、合わない値はそのパターンが答えず、not-found に落ちます。リンクはスキーマの出力型で書けます。

ドキュメント

設計ガイドは npm パッケージに同梱されています。AIコーディングエージェントは node_modules/@k8ordo/static/docs/ からインストールした版そのものを読みます。

Home
// src/routes/page.tsx                → /
// src/routes/products/page.tsx       → /products
// src/routes/products/[id]/page.tsx  → /products/:id(paramsSchema が id を検証)
// src/routes/error.tsx               → 配下が throw したら layout の内側に
// src/routes/old/redirect.ts         → /old は別の場所へ

// vite.config.ts — 値を持たない区間だけ、ビルドに渡す
export default defineConfig({
  plugins: [
    framework({
      paths: async () => {
        const products = await readCatalog();
        return products.map((product) => `/products/${product.id}`);
      },
    }),
  ],
});