リポジトリやノートの混沌を1つの無限キャンバスに集める方法
朝のブラウザを開くと、30個のタブが待っているのがおなじみの光景です。1つはGitLabからのタスク、もう1つはGitHub Issuesのバグ報告、3番目はNotionのノートが開いていて、その周りに десяток more links to documentation and mockups. All this information is smeared across services so much that it takes about fifteen minutes to restore context before you can start working.
最近、Ideonという興味深いプロジェクトを見つけました。空間的なプロジェクト整理のための自己ホスト型キャンバスです。著者は通常のネストされたフォルダやツリー状のディレクトリを放棄し、代わりにすべての開発要素を1つの無限マップに配置することを提案しています。

リストをマップに置き換える理由
通常、ノートテイキングやタスク管理ツールは私たちに思考を階層構造に押し込めることを強います。フォルダを作成し、その中にサブフォルダを作り、それからページやリストを作ります。問題は、実際のプロジェクトが厳格なツリーに収まることはめったにないということです。フロントエンドのリポジトリはバックエンドにリンクされており、そこにはバグチケット、パートナーAPIへのリンク、アーキテクチャのスケッチも付随しています。
Ideonは空間的近接性の原理を使用しています。キャンバス上で2つのブロックが隣り合っていれば、それらは意味的に関連しています。ファイルシステムの構造が決める配置ではなく、自分やチームにとって便利な方法でカードをドラッグしてグループ化するだけです。
内部構造
このプロジェクトはTypeScriptで書かれており、AGPLv3ライセンスで配布されています。主な機能はコードベース統合とコラボレーションを中心に展開されています。
Gitプラットフォームとのライブ統合
IdeonとMiroやExcalidrawのような通常の仮想ボードの主な違いは、コードへの直接的な接続です。4つの人気のシステムからリポジトリを埋め込み、チケットを開くことができます:
- GitHub
- GitLab
- Gitea
- Forgejo
タスクやリポジトリのリンクを貼り付けると、ブロックはステータスと詳細を含むインタラクティブなカードに変換されます。キャンバスの一角にバックエンドサービスをまとめ、その近くにオープンなissueカードを配置し、APIコントラクトの説明を含むmarkdownファイルを添付できます。
ノート、メディア、ファイル
キャンバスはコードリンクだけに限定されません。Markdown対応のノート、画像、ドキュメント、ファイルをキャンバスに投げ入れることができます。サービスを設計している場合、データベーススキーマの隣にアーキテクチャの決定事項やログからのエラースクリーンショットを含むテキストを配置できます。
リアルタイムコラボレーション
プロジェクトにはマルチプレイヤーが組み込まれています。複数の人が同時にカードを移動し、ノートを書き、アーキテクチャについて議論できます。同僚のカーソルが画面上に表示されます。
ステートスナップショットとタイムマシン
アクティブな開発中は、ボードが急速に変わります。重要な決定を失わないように、Ideonはスナップショット機構を追加しました。時間を遡って、技術を検討していた週前や最初のリリースについて議論していた頃のワークスペースがどう見えたかを確認できます。
自分でデプロイする方法
開発者はすべてをDocker Composeでパッケージ化了ため、自分のサーバーでの起動は数分で完了します。
DockerとDocker Composeがインストールされている必要があります。プロジェクトをクローンして環境変数を設定します:
git clone https://github.com/3xpyth0n/ideon.git
cd ideon
cp env.example .env
.envファイルでは、secret keyを生成して指定する必要があります(例えば、openssl rand -hex 32コマンドを使用)。必要に応じてデータベースの認証情報を変更してください。
設定後、コンテナを起動します:
docker compose up -d
ブラウザでhttp://localhost:3000にアクセスするとインターフェースが利用可能になります。
ローカルでのデプロイが今は面倒に感じる場合、著者はhttps://demo.theideon.comにパブリックデモを設定しています。ユーザー名ideon-demoとパスワードideon-demoでログインできます。
プロジェクトが向いている人と向いていない人
Ideonは、複数のペットプロジェクトに並行して取り組む小さなチームやソロ開発者にとって魅力的です。プロジェクト間を週単位で切り替える場合、空間マップがあれば、どこで中断したか、次に何を予定していたかを即座に思い出すのに役立ちます。ローカルなGiteaとForgejoのサポートは特に雰囲で、完全に自律的な開発環境を求めるファンに評価されるでしょう。
一方、このプロジェクトはまだ若く、リポジトリには約600個のスターがあります。厳格な期限、バーンダウンチャート、Jiraのような企業向けトラッカーとの統合が必要な場合、Ideonの機能は十分ではありません。しかし、個人またはチームプロジェクトのビジュアルコントロールパネルとしては非常に独特に見えます。デモを通じてでも、試す価値はあります。
関連プロジェクト