CLI リファレンス

magiclock のすべてのサブコマンドとフラグを、一箇所にまとめました。

すべては 1 つのコマンドに集約されています:magiclock <subcommand> [options]magiclock --version はインストール済みのバージョンを表示し、引数なしの magiclock はヘルプを表示します。

activate

このマシンの認証とプロビジョニングを行います。冪等であり、再実行しても安全です。

フラグ意味
--server URLライセンスサーバーの URL(保存済みセッション、次に $MAGICLOCK_SERVER にフォールバック)。
--token TOKENBearer トークン(保存済みセッション、次に $MAGICLOCK_TOKEN にフォールバック)。
--with-tokenヘッドレスモード:$MAGICLOCK_TOKEN または標準入力からポータル発行のトークンを読み取ります。
--no-browserサインインが必要な場合、ブラウザを開く代わりにリンクとコードを表示します。

status

このマシンのアカウントと有効化状態を表示します。

フラグ意味
--offlineサーバーへの通信をスキップし、ローカルの状態のみから報告します。

protect

.py ファイル(またはディレクトリを再帰的に)を、ゲートで保護された .pya に暗号化します。

shell
magiclock protect PATH [-o OUT] [--remove]
                  [--trial | --expires-in DURATION | --expires-at DATE]
                  [--bind-machine [--passphrase] | --passphrase | --emit-key]
フラグ意味
PATH保護対象の .py ファイル、または再帰的に保護するディレクトリ(.venvvenv__pycache__.gitdistbuild は自動的にスキップされます)。
-o, --out出力パス(ディレクトリの場合は出力先のルート)。
--remove暗号化後に平文の .py ファイルを削除します。
--trial固定 48 時間の自己消去 — デモ用。
--expires-in DURATION指定した期間の経過後、復号を停止します(例:30d)。
--expires-at DATE指定した日付以降、復号を停止します(例:2026-12-31)。
(バインド系フラグなし)デフォルト:鍵なしポータブルmagiclock がインストールされた任意のマシンで復号できます。ロックもシークレットもありません。
--bind-machineマシンロック形式の成果物:この有効化済みマシンでのみ復号できます。--passphrase を重ねれば二要素ロック(このマシンおよびパスフレーズ)になります。
--passphraseパスフレーズで解錠($MAGICLOCK_PASSPHRASE、またはプロンプト)— 単独ではポータブル、--bind-machine と併用すれば第二要素。
--emit-key生成済みキーで解錠するポータブル形式の成果物 — キーは帯域外配布用に表示されます。

--trial/--expires-in/--expires-at は互いに排他的です。--passphrase--emit-key は互いに排他的で、--emit-key--bind-machine と併用できません。

protect-model

モデルまたはその他のリソースを .enc エンベロープへ暗号化します。protect と同じ有効期限系フラグとバインド系フラグ(デフォルトは鍵なしポータブル、--passphrase/--emit-key--bind-machine〔+ --passphrase〕)に加えて、以下を取ります。

フラグデフォルト意味
PATH暗号化するファイル。
-o, --out<path>.enc出力パス。
--feature NAMEai_modelこの成果物を解錠するために必要なライセンスケーパビリティ。
--removeoff暗号化後に平文ファイルを削除します。

build

アプリをネイティブバイナリへコンパイルし、ライセンスゲートをすべてのモジュールへ自動で組み込みます。詳しい手順はコンパイルビルドを参照してください。

フラグデフォルト意味
entryエントリーポイントとなる .py ファイル。
-o, --output-dirdistビルド出力ディレクトリ。
--source-rootエントリーファイル走査・変換対象のプロジェクトルート。
--moduleon単一ファイルのネイティブ拡張としてコンパイル。
--standalone単一モジュールの代わりに、自己完結型のアプリディレクトリとしてコンパイル。--module とは排他的。
--no-compileoff走査・注入・埋め込みのみを行い、ネイティブコンパイルはスキップ。
--keep-tmpoff変換用の中間ディレクトリを保持。
--model PATHnoneモデルを暗号化してバンドル(複数回指定可能)。
--model-lock-passphraseoffバンドルしたモデルの二要素ロック(--model を 1 つ以上と --bind-machine の指定が必要)。
--model-trial / --model-expires-in / --model-expires-atnoneバンドルしたモデルの有効期限 — 互いに排他的。
--bind-machineoffマシンロックビルド:ライセンスゲートをすべてのモジュールへ組み込み、このマシンのボールト下でのみ動作。指定しない場合(デフォルト)はポータブルビルド — ゲートなし、どこでも動作、モデルは鍵なし。
--passphrase / --emit-keyoffポータブルビルド専用:バンドルしたモデルを、鍵なしのデフォルトの代わりにパスフレーズ導出キーまたは生成キーで暗号化。

run

.py または .pya を、ゲートを含めて実行します。

フラグデフォルト意味
entry実行するファイル。
--app-version1.0.0アプリのバージョン。ライセンスが設定する max_app_version と照合されます。
--passphraseoff復号用のパスフレーズをプロンプトで入力(または $MAGICLOCK_PASSPHRASE を読み取り)— ポータブルまたは二要素の成果物向け。
--key KEYポータブル成果物の復号キー(base64)、または $MAGICLOCK_DECRYPT_KEY を読み取り。

deactivate

このマシンをあなたのアカウントから削除します。

フラグ意味
--local-onlyサーバー上のシート解放や失効を行わずに、ローカルのボルトのみをクリアします。
--server URL解放リクエスト用のサーバー URL。
--token TOKEN解放リクエスト用の Bearer トークン。

skill

このプロジェクトに Claude Code 用のスキルをインストールし、AI コーディングエージェント(Claude Code など)が MagicLock でこのプロジェクトを保護する方法を理解できるようにします。

shell
magiclock skill [--dir DIR] [--force] [--print]
フラグ意味
--dir DIRインストール先のプロジェクトルート(デフォルト: カレントディレクトリ)。
--force既存の SKILL.md を上書きします。
--printファイルに書き込む代わりに、スキルの内容を標準出力に表示します。

.claude/skills/magiclock-protect/SKILL.md を書き込み、どの保護レベルを選ぶべきか、protect/build をどう実行すべきかをエージェントに教えます。

completion

シェルのタブ補完スクリプトを表示します。

shell
magiclock completion bash > /etc/bash_completion.d/magiclock
magiclock completion zsh  > "${fpath[1]}/_magiclock"