ソフトウェア開発プロジェクトにおいて、良いマークダウンプラン文書とは何でしょうか?良い計画と素晴らしい計画の違いは何ですか? 私はいつも、計画段階に時間とエネルギーの85%+を費やしていると延々と言っています。それって具体的に何を意味するの? 抽象的に説明するのは難しいです。微妙な違いを本当に示すには具体的な例が必要です。そこで、今日の良い例を共有しようと思います。 また、最近私のアプローチについてよく聞かれる質問にも答えています。多くの人はプロジェクトのすべてを一気にやらなければならないと思い込んでいるようです。私のアプローチでは、それはバージョン1に限ります! もし新機能を追加したり動作方法を変更したいと思ったら、もちろん機能するv1ができてからそれが可能です。その方法は、v1を作るのと同じ方法で、まず非常に詳細なマークダウンプランを作成し、それをビーズに変換します。 そこで、私のCoding Agent Session SearchプログラムCassの例を挙げます。これはかなり複雑なRustプログラムで、ほぼすべてのコーディングエージェントの過去のセッションログを自動的に検出、解析、保存、インデックス化します。すべてのログで50ms未満の即時「入力しながら検索」が可能で、他にも多くの便利な機能があります。 私は、MCP Agent Mailや beads_viewer(bv)で既に持っている機能に似た機能を追加したいと思いました。それは、GitHub Pagesを使ってセットアップを静的なウェブサイトとしてエクスポートできる機能です。 このプロジェクトのbvの例を見ることができます。これは私がこの投稿で説明する計画プロセスの最終結果です。 この機能により、ghユーティリティを使ってエクスポートしたサイトの生成とデプロイが非常に迅速かつ容易になります。 サイト自体は通常、sqliteファイルと、完全にブラウザ上で動作するTypescriptやwasmで構成されていますが、非常に優れたパフォーマンスと良い機能、スタイリングを備えています。これは先ほど示した例で確認できます。 MCPエージェントメールのメッセージやビーズの共有は一つのことですが、多数のコーディングエージェントセッションログを共有するのは全く異なります。これらのサイトには、機密情報やAPIキー、罵り言葉や罵り(少なくとも私のものはそうです!)、そして絶対に世間に暴露したくない他の情報が詰まっていることが多いです。 しかしGitHub Pagesは素晴らしいものの、公開リポジトリでしか動作しません(ちなみに私のツールはCloudflareのページもサポートしていますが、この用途にはGH Pagesの方が優れていて使いやすいです)。では、これらの問題にどう対処すればよいのでしょうか? 答えは暗号化です。ユーザーはまずどのコーディングエージェントを含めるか、どのプロジェクトフォルダ、期間を指定するかなどを選び、バンドルが生成されます(このバンドルはCassが内部ですべてのコーディングエージェントメッセージを元のネイティブ形式から変換する標準フォーマットです)。その後、ユーザーはそのバンドルの暗号化に使うパスワードを提供します。 つまり、リポジトリやウェブページは公開されているものの、あなたやパスワードを伝えた他の人以外はパスワード欄だけを見て、メッセージを読むことができないという考え方です。 パスワードを入力すると、Cassのように素早く効率的にメッセージを検索できる、美しく反応の良いUIがアンロックされます。もし本当に隠すことがなければ、パスワードを外してすべて公開することもできます。 ...