そのまま移せる
- Replit Agent の Web アプリ: Express のサーバーと React + Vite のフロントエンド
- Drizzle で使っている PostgreSQL のテーブル
- Replit Auth(取り除かれ、会社のログインに置き換わる)
- shadcn/ui、Tailwind、wouter、react-query などのフロントエンドのライブラリ
2026年10月26日 確認
結論
同僚がすでに Replit のアカウントを持っているなら、Replit 自身の非公開の公開を使いましょう。Publishing ツールの設定で、Starter と Core 以上のプランで使えます。持っていない場合や、会社のアカウントでログインしてほしい場合は、アプリを TeamOnly に移します。zip でダウンロードするか GitHub にプッシュし、npx teamonly init を実行して、AI ツールに「このアプリを TeamOnly に移して」と頼んでください。画面はそのままで、Express のサーバー、Replit のデータベース、Replit Auth が置き換わります。Python のアプリは移せません。
01まずはこちら
はい。Replit の Publishing ツールには、4つの選択肢がある Sharing の設定があります。2つは非公開で、どちらも Replit のアカウントが必要です。
| 開ける人 | 訪問者に Replit のアカウントが必要? | 向いているとき | |
|---|---|---|---|
| Public | リンクを知っているインターネット上の誰でも | 不要 | 非公開にするものが何もない |
| Password protected | パスワードを知っている人なら誰でも | 不要。共有のパスワード1つ | ちょっとしたデモ。ワークスペースの管理者はこの選択肢をオフにできる |
| Workspace only | Replit のワークスペースの管理者、メンバー、閲覧者 | 必要 | 同僚がすでに Replit のワークスペースにいる |
| Invite only | あなた、ワークスペースの管理者、招待した人やグループ | 必要 | Replit を使っている数人 |
| TeamOnly | 社内の全員、または名前のリスト | 不要。会社の Google、Microsoft、またはメールで届くコード | 同僚が Replit のアカウントを持っていない |
Replit によると、2026年5月から非公開の公開は Starter と Core 以上のプランで使えます。それ以前は Pro か Enterprise が必要でした。Core は月額 $20、年払いなら $18 です。Pro は月額 $100 で、閲覧者を50人まで招待できます。50人を超えるには Enterprise が必要で、SSO と監査ログもそこにあります。
2026年10月26日 確認。Replit: アプリにアクセスできる人、Core と Starter での非公開の公開、料金、閲覧者のシート、Replit Auth、ダウンロードまたは GitHub の接続、データベースの接続情報、pg_dump でのバックアップ。プランは変わることがあるので、お支払いの前に Replit でご確認ください。
02移すべきとき
どれにも当てはまらないなら、Replit のままで大丈夫です。移行は実際の作業で、Replit 自身の共有なら設定1つで済みます。
03移せる?
04手順
必要なのは、パソコン上のプロジェクトのコード、Node.js、そして Claude Code か Cursor です。
Replit でファイルツリーの上にあるメニューを開き、Download as zip を選びます。または Git ツールで GitHub を接続し、プロジェクトをプッシュしてクローンします。
プロジェクトのフォルダで次を実行します:
npx teamonly init
npm installTeamOnly のアプリに必要なファイルと、AI ツールが読む指示書が追加されます。既存のファイルが上書きされることはありません。
このアプリを TeamOnly に移して
AI は TeamOnly の指示書に従います。すべての画面を残し、Express のルートを TeamOnly のサーバールートに変え、Drizzle のテーブルをアプリ専用のデータベースに作り直し、Replit Auth を取り除き、何を変えたか、何を移せなかったかを伝えます。
AI がアプリを手元で動かします。先に進む前に、主な画面をひととおりクリックして確かめてください。
npx teamonly login
npx teamonly deployblog.acme.teamonly.app のようなリンクができます。同僚はそれを開いて、会社のアカウントでログインします。
05変わること
| Replit のアプリでは | TeamOnly では |
|---|---|
Replit Auth: ログインボタン、/api/login、sessions と users のテーブル | 削除。TeamOnly がアプリの読み込み前にログインさせ、アプリはその人が誰かを読み取ります。 |
Express のサーバー(server/routes.ts) | アプリのサーバーコードのルート。同じ /api のパスのまま |
| Drizzle で使う PostgreSQL のテーブル | アプリ専用のデータベース。最初のデプロイで作成(Cloudflare D1 上の SQLite) |
| 「ログイン済み」だけの確認 | 編集者や承認者などの役割。ダッシュボードのアプリのページか npx teamonly roles で割り当てる |
| Replit Secrets | シークレット。npx teamonly secrets set で設定し、ブラウザには送られない |
| WebSocket でのリアルタイム更新 | 更新ボタン |
.replit と Replit の Vite プラグイン | 削除 |
06データ
移したアプリは空のデータベースから始まります。データの行は、コピーするまで Replit に残ります。
Replit で Database ツールを開き、本番データベースを選んで、Settings タブから接続文字列をコピーします。Replit が外部のツールからの接続を許しているのは本番データベースだけで、開発用のデータベースには接続できません。
psql(下の例)など、PostgreSQL のツールで各テーブルを CSV ファイルにエクスポートします。完全なバックアップも取っておきましょう。Replit 自身のドキュメントでは pg_dump を使っています。
移したアプリのインポート画面から CSV ファイルを読み込みます。インポート画面がなければ、アプリをオンラインに置く前に AI ツールに追加してもらいましょう。
psql でテーブル1つを CSV に:
psql "PRODUCTION_CONNECTION_STRING" \
-c "\copy your_table TO 'your_table.csv' CSV HEADER"私たち自身は、本番で動いている Replit のデータベースを移したことはありません。インポートのあとで行数を確認してください。
07Python のアプリ
Python のアプリは TeamOnly に移せません。TeamOnly で動くのは、Cloudflare 上の React のフロントエンドと TypeScript のサーバーという1種類のアプリだけで、Flask、Streamlit、FastAPI、Django を動かす方法はありません。
Replit のアプリが Python なら、上で紹介した Replit 自身の非公開の公開を使ってください。AI ツールに React と TypeScript で作り直してもらうのは移行ではなく書き直しで、私たちは試していません。
08わかったこと
GitHub で公開されている Replit Agent のアプリを1つ選び、移しました。Express、React、Drizzle を使った PostgreSQL、Replit Auth で作られた、編集者用ダッシュボード付きのブログです。
元のアプリには、Replit Auth の仕組みから来る穴がありました。Replit のアカウントを持っていれば誰でもログインでき、アプリはログインした人を全員管理者として扱っていました。つまり誰でも記事を編集・削除でき、すべてのメッセージを読めました。移行後は、編集にはオーナーか編集者の役割が必要で、サーバー側で確認します。
Publishing ツールの Sharing で、Workspace only か Invite only を選びます。訪問者は Replit のアカウントでログインします。Password protected もあり、アカウントは不要ですが、共有のパスワード1つです。Replit によると、2026年5月から非公開の公開は Starter と Core 以上のプランで使えます。
Workspace only と Invite only では必要です。訪問者は Replit でログインするよう求められます。Replit のチームに閲覧者として追加した人は、アカウントがなければ作成を案内するメールを受け取ります。アカウントなしで使えるのは Password protected の設定だけです。
できます。プロジェクトでファイルツリーの上にあるメニューを開いて Download as zip を選ぶか、Git ツールで GitHub を接続してコードをプッシュします。データベースは別です。次の質問をご覧ください。
自動では移りません。アプリは空のデータベースの状態で移ります。本番データベース(接続文字列は Database ツールの Settings タブにあります)からテーブルを CSV ファイルでエクスポートし、移したアプリのインポート画面から読み込んでください。インポート画面がなければ、AI ツールに追加してもらいましょう。
取り除かれます。Replit Auth は Replit のアカウントでログインさせる仕組みです。TeamOnly では、アプリが読み込まれる前に、会社の Google か Microsoft のアカウント、または会社のメールに届く6桁のコードでログインし、アプリにはその人が誰かが伝わります。
移せません。TeamOnly で動くのは、React のフロントエンドと TypeScript のサーバーという1種類のアプリだけです。Flask、Streamlit、FastAPI、Django のアプリは動きません。その場合は Replit 自身の非公開の公開を使ってください。
不要です。リンクを開き、すでに持っている会社のアカウントでログインします。アプリを使うだけの人は無料です。
一般的な Replit Agent のアプリなら、AI ツールがプロジェクトで作業する時間が15分から60分、それに画面を確認する時間です。サーバーのコードが何千行もあるアプリはもっとかかります。1分で済むのはそのあと、デプロイから同僚が使い始めるまでの部分です。
アーリーアクセス
TeamOnly はアーリーアクセス中で、すべてのプランを今すぐお申し込みいただけます。カード不要で14日間無料でお試しいただくか、お申し込みください。どちらの場合も御社の準備はすぐに整い、コマンド3つで最初のアプリが公開されます。
ご質問は hello@teamonly.dev へ。人が返信します。