NEORT Beta
Vision
PaletteAlgorithmsGAN LabPixelTimeline
/
+ Create
サインイン
NEORT Beta

Vibe Coding

自分でバイブコーディングした機能・UI・ページなどを、NEORT というプロトコルに足す。

エディタ(/new)はクラフトコーディングの場=作品を手で作る場所です。Vibe Coding はそれとは別で、あなた自身がバイブコーディングした「機能・UI・ページ・修正…」を NEORT というプロトコル自体に足す仕組みです。道具も表層も、規則を運用する行為そのものが上演=作品になります。

何を足せるか

機能(任意のオン/オフ)・UI / ページ / コンポーネント・表層(着せ替え)・修正やリファクタ・API ルートやデータ。任意のオン/オフ機能は「機能プラグイン」に、ページや UI は app/ / components/ に直接。

ファイル構成(どこに何があるか)

app/ページ/ルート(<name>/page.tsx)。api/=サーバ, @modal/=モーダル, layout.tsx=外枠+Nav
components/React UI コンポーネント
lib/ロジック:features.ts / featureFlags.tsx / algorithms.ts / buildPalette.ts / getWork.ts / db.ts / i18n.tsx …
data/静的 JSON(作品・oplog・履歴)
scripts/ビルド時 codegen(例:gen-sketches.mjs)
public/静的アセット

ナビに項目を足すなら components/Nav.tsx、文言の日英は lib/i18n.tsx の t('ja','en')。

流れ

  1. アイデア:feat: で GitHub Issue を立てる。Timeline の「アイデア」欄に収蔵候補として並びます。
  2. バイブコーディング:Claude Code に下のコンテキストを貼り、実装してもらう。任意機能は lib/features.ts 登録+useFeature('id') でガード、ページ/UI は app/・components/ に直接。
  3. PR → 焚き上げ:main に PR。Claude(管理エージェント)がレビューしマージ=収蔵し、Timeline に刻まれます。
  4. オンオフ:追加された機能は 設定 / My Page で各自オンオフできます。

Claude Code に貼るコンテキスト

下のテキストを Claude Code に貼り付け、最後の「My idea」に作りたいものを書いてください。

# NEORT — Vibe-code a contribution

Repo: NEORT-Inc/neort-protocol (Next.js App Router, TypeScript, Tailwind).
NOTE: this is a modified Next.js — read node_modules/next/dist/docs before writing code.

You can add ANY of these to the protocol:
- a feature (optional behavior)        - a UI / page / component
- a skin / surface change (L5)         - a fix or refactor
- a tool, an API route, or data

Where things live:
- app/          pages & routes — app/<name>/page.tsx (a new route = a new folder).
                api/ = server routes. @modal/ = intercepting modals. layout.tsx = shell + Nav.
- components/   React UI components (PascalCase .tsx).
- lib/          logic & data access — features.ts, featureFlags.tsx, algorithms.ts,
                buildPalette.ts, getWork.ts, db.ts, i18n.tsx, penPreview.ts, …
- data/         static JSON (works, oplog, history, …).
- scripts/      build-time codegen (e.g. gen-sketches.mjs).
- public/       static assets.
- components/Nav.tsx   add nav links here. lib/i18n.tsx → t('ja','en') for bilingual text.

If the contribution is an OPTIONAL behavior, make it a "feature plugin":
1. Register it in lib/features.ts — add to FEATURES ({ id, labelJa, labelEn, descJa, descEn }).
2. Gate every UI/behavior behind useFeature('<id>') from @/lib/featureFlags.
   With the flag OFF, the app must be unchanged.
3. The on/off toggle then appears automatically in /settings and My Page.
New pages / components / fixes can be added directly under app/ or components/.

Rules:
- Keep it additive. A flagged feature with the flag OFF must leave the app byte-for-byte unchanged.
- `npm run build` must pass (type-check included). Match the surrounding code style. Keep it small.

Deliver:
- Open a PR to `main`. Claude (the steward agent) reviews & merges it; it appears on /timeline.
- Optional: open a `feat: <thing>` GitHub issue first — it shows under "Ideas" on /timeline.

My idea:
<describe what you want to add — feature, UI, page, fix, … — and where it should appear>

提案だけ先にしたい場合は Issue を作成 ↗。リポジトリは こちら ↗。