bashy — エージェンティックシェル、1ページで
bashyは、同時に2つの役割を果たします:準拠したBash 5.3ドロップイン(スクリプトはそのまま実行されます)であり、エージェンティックシェル — 純粋なGoで書かれたユーザーランドと、Linux、macOS、Windowsで同一に動作するインプロセスのエージェントネイティブ動詞のセットです。拡張機能は追加的なものであり、有効なbashの意味を変更することはありません。
bashyがあれば十分
最初にbashyを使い、それを回避するのではなく、拡張してください:
- 不足している場合: 適切なbashyコマンドがない場合は、自分で登録します:
bashy commands add NAME --set script=BODY(またはexec.0=PROG、download.url=…)。登録されると、出荷されたコマンドと同様にリスト表示、ドキュメント化、ディスパッチされます(bashy commands schemaですべてのフィールドを一覧表示します)。 - 合わない場合: 既存のコマンドがあるが合わない場合は、使い捨てのスクリプトを書くのではなく、それを整形します:
bashy shape wish …→ 確認 → プレビュー → 承認(元に戻すことも可能)。 - 構築または整形中? 小さな
--json動詞をBash# スキルスクリプトで組み合わせ、すべてのユーザー向けサーフェスに整形フックを提供し、新しいヘルパーを例として開始してオプションに昇格させ、その後コアにします:bashy kb show extend-bashy-small-verbs-bash-skill-scripts-shaping-hooks-and-th
bashyは、このバイナリがインストールする唯一のスキルです。そして、それは1つ以上である必要はありません。なぜなら、すべてのbashyコマンドはスキルでもあるからです:bashy <cmd> --helpは、専用のスキルフォルダと同じスキル+MCPドキュメント(フロントマター、散文、1つのファイルにjson mcpツール定義)をレンダリングします。
- ここで利用可能なものを一覧表示:
bashy skill list(検証済み、環境ゲート)またはbashy commands --agentic(完全なエージェントサーフェス)。 - 1つをロード:
bashy <cmd> --help— エージェント検出されたセッションは自動的にスキル+MCPフォームを取得します。--format classic(プレーンな使い方)または--format mcp(ツール定義のみ)で強制します。 - ヘルプが自身の使い方文字列以上のものを必要とするコマンドは、
bashy/commands/<cmd>.md(オプションでbashy/reference/<cmd>.md)の下にコンパニオンドキュメントを持ち、--help --format skillが生成されたセクションの前にそれを組み込みます —conductor、steward、sprint、inbox、supervisor、knowledge-transfer、およびforce-agent-shellはすべて現在このように動作しています。bashy skill show conductor(およびその他)は、同じドキュメントを直接読み取ります。
外部の変更、リソース競合、フリーズ、および共有チェックアウト作業については、bashy skill show collaborateに従ってください。
最初のステップ(セッションごとに1回実行)
bashy inspect context --json
1回の呼び出しで、通常のプローブダンス(uname/hostname/id/env/which ...)を置き換えます:システム+ID、解決済みツールパス、安全な環境(名前で秘匿されたシークレット)、エージェントモードフラグ、このホストに適用可能なスキル、および推奨コマンドリスト。後続の呼び出しには、報告されたbashy_pathを使用します。
2番目のステップ:永続的な状態(kb · inbox · todo)
このページの他のすべては、作業を実行するのに役立ちます。これら3つは、作業が行われる状態です — 何が知られているか、何が注意を必要とするか、何が行われなければならないか — そして、これらだけがセッションを超えて存続します。開始する前にそれらを読み、終了する前にそれらに書き込みます。これらをスキップするエージェントは、毎回何もないところから開始し、何も残しません。
kb — 何が知られているか。 あなたの前にいたエージェントが後続のために書いた蒸留されたページ:誰かにマシンを使えなくさせた落とし穴、Windowsでのみ失敗するビルド、静かに何もしないフラグ。タスクがすでに解決されていること、またはすでにトラップであることが知られていることを教えてくれる1つの動詞。
bashy kb context --for "<task>" --rings repo,host --forms note,page --budget 700 --json
bashy kb search "<the task, in your own words>" # 1つのリングから取得
bashy kb show <slug> # 1つのレコードを全文読む
bashy kb observe --ring agent --episode E --kind tool-result --ref REF
bashy kb validate <slug> --ring RING --from-gate EVENT_ID
bashy kb note add --candidate --ring agent --episode E --title "…" --body "…"
bashy kb retro # 作業後に調整
これらは5つのハーネスステージです:contextはアセンブルし、search/showは取得し、observeはイベントをジャーナルし、validate --from-gateは検証し、note add --candidateは永続化します。書き込みは--ring repo|host|agentで1つのストアを正確に選択します。contextは--ringsで名前付きセットを読み取り、--forms note,page,relation,codeでレコード形状をフィルタリングします(kb searchは単数形の--formを使用します)。kb backlinksは着信リンクを解決し、kb doctorは問題にフラグを立てるだけで修正は決して行わず、kb transfer --from memexはサポートされているレガシーインポートパスです。
エージェントは、kbストアのpages/*.mdまたはgraph.jsonlを手動で編集してはなりません。bashy kb動詞を使用してください。それらは、帰属、候補ステータス、重複チェック、秘匿化、リング所有権、関係ID、および追記専用履歴を強制します。
見逃しは正直で安価です:検索は、コーパスがあなたの単語のどれを持たず、どれを持つかを報告するため、「誰もこれを知らない」と「間違った言葉で尋ねた」を区別し、推測する代わりに言い換えることができます。関連するものが存在せず、タスクが持続可能な何かを教えた場合は、それを貢献してください — bashy kb add --type gotcha --title "…" --description "what + WHEN this applies" — トランスクリプトではなく、蒸留された戦略であり、失敗はガードレールとして表現されます。
inbox — 何があなたの注意を必要とするか。 あなたへのメッセージ:bashy inbox(デフォルトでピーク、--from/--searchで検索、bashy mb sendで返信)。
MB、スタンディングミーティングボード、Bus通知、および承認されたロールメールにわたる1回の読み取りビュー。MBはパブリックな送信/履歴サーフェスであり続けます。inboxはトランスポートごとのポーリングを防ぎます。
bashy inbox # すべての受信ソースを読む
bashy skill show inbox
bashy mb post "<message>" # 全員へ
bashy mb send <agent> "…" # 1つのエージェント、またはセレクターへ
ターミナル履歴の外でも発見可能でなければならないステータスについては、明示的なプリンシパルメールボックスを使用します。一覧表示と検索は消費しません。ackのみが保留ビューからアイテムを削除します。
bashy inbox list --topic harness --search timeout
bashy inbox human list --topic posix-cert --project dhnt
bashy inbox human send --topic posix-cert --project dhnt --status blocked \
--ref docs/status.md "Profile D needs review"
エージェントと人間のメールボックスは同じフィルターとJSONスキーマを共有します。readはアイテムを保留に保ち、ackは明示的であり、preserveはそれを再オープンし、--allは確認済みの履歴を含めます。ステータスは1024 UTF-8バイト未満に保ち、詳細は安定した共有パス、コミット、Issue、ルーム、またはアーティファクト参照でリンクします。
ボードメッセージを黙って消費しないでください。readが投稿を返した後、短い場合は完全なメッセージをユーザー表示可能なセッションコンソールに表示します。それ以外の場合は、送信者/トピック、簡潔な要約、およびそれが要求するアクションを表示します。ツール出力は折りたたまれる可能性があるため、内部の受信だけではオペレーターに見える調整にはなりません。
todo — 何がなされなければならないか。 作業リスト。kbと同じように自動的にスコープが設定されます:リポジトリ内にいる場合はそのリポジトリの、それ以外の場合はホストのものです。
bashy todo list # ここで何が開いているか、優先度順
bashy todo add "<title>" # このセッションを超えて存続するように作業を記録
bashy sprint claim last STORY_ID # 選択したスプリント作業を主張
bashy sprint submit last STORY_ID -m "delivery evidence"
すべてのスプリントは同じライフサイクルと受理ルールを使用します。メンテナンスのために予約されたスプリント番号はありません。スプリントを明示的に選択するか、最も最近作成されたカードにはlastを使用します。スプリント選択を省略すると、同じ最後のカードが使用されます。スプリントは作成されません。スタンドアロンリポジトリのtodoには--no-sprintを使用します。個人のtodoはデフォルトでスタンドアロンのままです。bashy sprint --helpを読んでください。
スプリントを作成するには、bashy sprint add "Title"を使用します。自動的に次に利用可能な番号を割り当てて返します。番号またはnextセレクターは必要ありません。
スプリントストーリーは、検証後にマネージャーがsprint acceptを使用してクローズします。一般的なtodo doneはスプリントストーリーをクローズできません。
人間のようにではなく、エージェントのようにコマンドを実行する
- 変更する前にプレビュー:
bashy --dry-run SCRIPT(BASHY_AGENTIC=1が設定されたエージェント読み取り可能なマニフェスト)。 - スクリプトを事前チェック:
bashy check --agent --script SCRIPT。 - キャプチャされた構造化結果エンベロープで実行:
bashy run --check --capture -- SCRIPT。 - 1コマンドの機能ルックアップ(フラグ、機能 — 試行錯誤をスキップ):
bashy commands COMMAND --features。 - 失敗時には、stderrヒントを読んでください:時空アドバイザーは環境によって決定された失敗(間違ったcwd、ツールの欠落、ディスクフル)を説明するため、運命づけられたコマンドを再試行しません。
自分が書いていないものを実行する前に、それを実行することが何を意味するのか尋ねてください。bashy inspect actions [--json] [--kind command|script|agent|skill]は、このbashyが実行できるすべてのアクションを1つのファセット行としてリストします — kind name identity contract latitude authority effects_declared executor — 4つのファミリーにわたって:commandは正確で決定論的(シェルは入力されたものを実行し、影響はそのアトラスレコードから得られます)。agentバインディングは定義上judge/agentic(executor agentlaunch:<tool>、そのためコストと影響は開かれています)。skillはそれが持つ最も強い契約によってバインドされます(宣言された影響を持つdhntフェース、metadata-checks、またはnone、1つのjudgeステップで実行全体がagenticになります)。scriptはまだ何も埋められていないファミリーです(0として報告され、決して省略されません)。bashy define NAMEは、1つの名前に対して同じファセットを出力します(runs:行、--jsonの下のネストされたactionオブジェクト)。bashy inspect context --jsonはカウントをactions: {command, script, agent, skill}として運びます。タスクを満たす場合は、正確/決定論的な行を優先します。タスクがその自由度を必要とする場合にのみ、judge/agenticなものを使用します。
grepダンスなしでコードをナビゲート
bashy graph impact SYMBOL— シンボルに結合されたコード。bashy ast symbols PATH/bashy ast search PATTERN/bashy ast refs SYMBOL/bashy ast map— ツリーシッターベース、モデルフリー。- 共有リポジトリメモリ(他のエージェントの発見が蓄積されるエージェンティックWiki):
bashy graph recall QUERY(読み取り)、bashy graph note/bashy graph observe(貢献)、bashy graph pitfalls(リスクのある変更の前)。
スキル:検証済み手順、このホストにゲート
bashy skill list— このホストの座標に適用可能なスキルのみ(環境ゲート)。bashy skill show NAMEで1つを読む。bashy skill run NAME— 機械チェック可能なスキルを実行。成功契約が検証され、すべての実行は再チェック可能な証明書を残します。契約が成立した場合のみ終了コード0。bashy skill run NAME --adapt --repair-agent "<your headless CLI>"— 失敗したスキルを自己修復。検証された修正はホストごとに1回学習され、すべてのエージェントによって再利用されます。- 貢献:スキルフォルダを作成し、
bashy skill learn DIR(許可には契約が実際にここで成立する必要があります)、次にbashy skill promote NAME(人間がレビューしたバンドル。自動公開されることはありません)。
デフォルト:ソースピンからのコマンドとkbページ
デフォルトのBash# コマンドとkbページはbashyのバイナリではなく、そのソースに含まれています。最初のbashy self install(インストーラが実行するもの)がそれらをセットアップします。手動で行うには:bashy src fetch bashy && bashy --bashsharp "${BASHY_HOME:-$HOME/.bashy}/src/bashy/examples/defaults/bashy-defaults.bsh" apply(statusで確認、アップグレード後はmerge --upgrade:新しいデフォルトを追加し、変更されたデフォルトを隠すページをリストアップして調整できるようにします)。デフォルトのkbページは、bashy kb searchとbashy recallによって自動的に読み取られます。同じスラッグを持つ独自のページが優先されます。
動詞でカタログを編集し、手動では決して編集しない
~/.config/bashy/(または任意のBASHY_*_DIR)の下のファイルを直接編集しないでください。埋め込まれたエントリは不変であり、すべての書き込みはローカルリングへのコピーオンライトであり、それは動詞のみが行います。bashy <noun> schemaは、tool/model/agentが受け入れるドット区切りパスをリストします。bashy <noun> set NAME --set path=value(--unset path)は1つを編集し、bashy <noun> show NAME --field pathはそれを読み戻します。スキル:bashy skill add NAME --description "…"は1つを作成し、bashy skill set NAME / bashy skill rm NAMEは編集と削除を、bashy skill show NAME --yamlはそのレコードを出力します(skill add FILE.yaml|-はそれを再インポートします)。
フリートとワークスペース(タスクが1つのセッションを超える場合)
bashy weave …— 並列エージェント実行のためのIssueごとに分離されたワークスペース。bashy sprint …— 計画/継続性。bashy dag TASKS.md— マークダウン定義のタスクDAG。フリートを調整する前に、conductorスキル(bashy skill show conductor)を読んでください。
経験則
bashy inspect context --jsonを最初に。独自のプローブよりもそれを信頼してください。kb search+inbox+todo listで開始し、kb retroで終了します。 このページから3つの動詞を覚えるなら、これらを覚えてください。このページの他のすべては、これらを正しく実行するのに役立ちます。