create-aptos-project について
Aptos プロジェクトのスキャフォールドを支援するエージェントスキルです。アプリ、dApp、コントラクトを始める開発者向けに、`npx create-aptos-dapp` の利用や設定確認、作成後の検証手順を案内します。
主な機能
- 01create-aptos-dapp によるスキャフォールド
- 02プロジェクト種別・フレームワーク・ネットワークの確認
- 03Git の .env 除外設定の確認
- 04初期化・コンパイル・テストの案内
- 05dApp 開発ワークフローの提示
活用シーン
- 01Aptos のフルスタック dApp の開始
- 02Move コントラクト専用プロジェクトの作成
- 03指定ネットワークでの初期化と検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aptos-labs/ aptos-agent-skills --skill create-aptos-projectインストール後、Claude Code で/create-aptos-projectを入力して読み込まれたか確認します。
詳細
Aptos プロジェクト作成スキル
目的
npx create-aptos-dapp を使用して、新しい Aptos プロジェクトのひな形を作成します。ユーザーがどのような表現で依頼した場合でも、新しい Aptos アプリ、dApp、またはプロジェクトを構築したいときは、必ず最初にこの手順を実行します。
必ず行うこと
- ひな形の作成には
npx create-aptos-dappを使用します。プロジェクトを手作業で一から作成してはいけません - ひな形を作成する前に、プロジェクトの種類、フレームワーク、ネットワークについてユーザーに確認します
- Git 操作の前に、
.envが.gitignoreに含まれていることを確認します create-aptos-dappとaptos initでは同じネットワークを使用します- ひな形の作成後は、Build a dApp ワークフロー(コントラクト、テスト、監査、デプロイ、フロントエンド)に従います
絶対に行わないこと
- ひな形の作成を省略すること — 「シンプルな」プロジェクトでも、必ず
create-aptos-dappから開始します - プロジェクト構造を手作業で作成すること — ボイラープレートテンプレートが処理します
- 秘密鍵を表示したり読み取ったりすること — プレースホルダーとして
"0x..."を使用します .envが.gitignoreに含まれていることを事前に確認せず、git add .またはgit add -Aを実行すること
判断ツリー
ひな形の作成コマンドを実行する前に、次の情報をユーザーから確認します。
1. プロジェクト名
ユーザーの説明から名前を決めるか、直接確認します。ケバブケースを使用します(例:habit-tracker、nft-marketplace)。
2. プロジェクトの種類
| オプション | 使用する場面 |
|---|---|
| Fullstack(デフォルト) | ユーザーがフロントエンドとスマートコントラクトを求めている場合 |
| Contract-only | ユーザーが Move スマートコントラクトのみ(フロントエンドなし)を求めている場合 |
3. フレームワーク(Fullstack のみ)
| オプション | 使用する場面 |
|---|---|
| Vite(デフォルト) | デフォルトの選択肢で、セットアップが軽量な場合 |
| Next.js | ユーザーが Next.js または SSR を指定した場合 |
4. ネットワーク
| オプション | 使用する場面 |
|---|---|
| devnet(デフォルト) | 開発およびテスト |
| testnet | 本番前の環境。ユーザーが明示的に希望した場合 |
| mainnet | 本番環境。ユーザーが明示的に希望した場合 |
5. API キー(任意)
Geomi API キーを持っているかユーザーに確認します。devnet では任意ですが、レート制限を避けるため、testnet/mainnet では推奨されます。 https://geomi.dev で取得できます(プロジェクトを作成 -> API Resource -> キーをコピー)。
ひな形作成コマンド
# Fullstack dApp with Vite (frontend + contracts)
npx create-aptos-dapp <project-name> \
--project-type fullstack \
--template boilerplate-template \
--framework vite \
--network <network>
# Fullstack dApp with Next.js
npx create-aptos-dapp <project-name> \
--project-type fullstack \
--template boilerplate-template \
--framework nextjs \
--network <network>
# Contract-only (Move project)
npx create-aptos-dapp <project-name> \
--project-type move \
--network <network>
任意のフラグ:
--api-key <key>— ひな形の作成時に Geomi API キーを渡します--use-surf— 型安全なコントラクト操作のために Surf を有効にします
ひな形作成後のチェックリスト
ひな形の作成後、次の手順を順番に実行します。
cd <project-name>- Git 操作の前に、
.envが.gitignoreに含まれていることを確認します aptos init --network <network> --assume-yesを実行します(上記と同じネットワークを使用します)npm run move:compile && npm run move:testを実行して確認しますgit init && git add . && git commit -m "Initial commit"
dApp の構築ワークフロー
ユーザーが新しい Aptos アプリ、dApp、またはプロジェクトの構築を希望する場合は、必ずこのワークフローに従います。 ユーザーがどのような表現で依頼した場合でも適用されます(「...を構築して」「...を作成して」「...を作って」「...を構築したい」など)。
/create-aptos-project->npx create-aptos-dappでひな形を作成(このスキル — 絶対に省略しない)/write-contracts-> Move モジュールを作成/generate-tests-> テストスイートを作成し、カバレッジ 100% を確認/security-audit-> デプロイ前に監査/deploy-contracts-> 指定されたネットワークにコントラクトをデプロイ/use-ts-sdk-> フロントエンドとの連携を調整(必要に応じて ts-sdk-client、ts-sdk-transactions、ts-sdk-view-and-query、ts-sdk-wallet-adapter に振り分け)
ボイラープレートの内容
フルスタックテンプレート
contract/—Move.tomlとスターターモジュールを含む Move スマートコントラクトfrontend/— Aptos ウォレットアダプターが事前設定された React アプリpackage.json—move:compile、move:test、move:publish、dev、build用のスクリプト.env— ネットワーク、API キー、パブリッシャーアカウント用の環境変数
コントラクトのみのテンプレート
contract/—Move.tomlとスターターモジュールを含む Move スマートコントラクトpackage.json—move:compile、move:test、move:publish用のスクリプト.env— ネットワークとパブリッシャーアカウント用の環境変数
トラブルシューティング
npx create-aptos-dapp コマンドが見つからない
# Auto-confirm the npx package install prompt
npx --yes create-aptos-dapp <project-name> ...
それでも解決しない場合は、Node.js と npm がインストールされていることを確認してください(node -v && npm -v)。
スキャフォールド後にコンパイルに失敗する
contract/Move.tomlの名前付きアドレスが正しいことを確認します- まだ実行していない場合は、
aptos init --network <network> --assume-yesを実行します [addresses]セクションでmy_addrが"_"に設定されていることを確認します
名前付きアドレスのエラー
ボイラープレートでは my_addr = "_" を使用し、コンパイル時に .env から値を解決します。
.env で VITE_MODULE_PUBLISHER_ACCOUNT_ADDRESS が設定されていることを確認してください(aptos init によって設定されます)。