ログイン無料で始める

プランの登録・管理

Nolto の中心的な概念は プラン(Plan)です。プランは AI 開発ツールが生成した実装計画(Markdown 形式)を表し、登録すると LLM が自動的に日本語のビジネスサマリに変換します。


プランの登録

REST API で登録する

curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": {
      "title": "決済機能の実装",
      "content": "## 概要\nStripe Checkout を導入する...",
      "status": "not_started",
      "phases": [
        {
          "title": "Stripe SDK のセットアップ",
          "content": "npm install @stripe/stripe-js ...",
          "status": "not_started"
        },
        {
          "title": "Checkout セッションの実装",
          "content": "サーバーサイドで checkout.sessions.create を呼び出す...",
          "status": "not_started"
        }
      ]
    },
    "source": {
      "kind": "api"
    },
    "git": {
      "userName": "tanaka",
      "userEmail": "tanaka@example.com"
    }
  }' \
  "https://nolto.app/api/projects/$PROJECT_ID/plans"

MCP で登録する

Claude Code や Codex からは、register_plan ツールで同じ操作を行えます:

> このプランを Nolto に登録して

MCP 経由の場合、projectId を省略すると デフォルトプロジェクト が使われます。

リクエストスキーマ

plan(必須)

フィールド必須制限説明
titlestringYes1〜500文字プランのタイトル
contentstringYes1〜50,000文字プランの本文(Markdown)
statusstringNoenum初期ステータス(デフォルト: not_started
phasesarrayNo最大50件フェーズ(サブタスク)のリスト
plannedStartAtstringNoISO 8601予定開始日時
plannedEndAtstringNoISO 8601予定終了日時

phases[]

フィールド必須制限説明
titlestringYes1〜500文字フェーズのタイトル
contentstringYes1〜20,000文字フェーズの詳細
statusstringNoenum初期ステータス(デフォルト: not_started
plannedStartAtstringNoISO 8601予定開始日時
plannedEndAtstringNoISO 8601予定終了日時

source(任意)

フィールド必須説明
kindstringNo"file" / "api" / "mcp" / "manual"(デフォルト: "api"
pathstringNoファイルパス(最大1,024文字)
urlstringNoURL(最大2,048文字)
hashstringNoコンテンツハッシュ(最大128文字、重複検出用)

git(任意)

フィールド必須説明
userNamestringNoGit ユーザー名(最大255文字)
userEmailstringNoGit メールアドレス(最大320文字)

レスポンス

{
  "planId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "transformStatus": "queued",
  "detailUrl": "https://nolto.app/projects/.../plans/..."
}

LLM Transform パイプライン

プランを登録すると、バックグラウンドで LLM による変換ジョブがキューに入ります。

処理の流れ

  1. プランが登録される → transformStatus: "queued"
  2. バックグラウンドワーカーがジョブを取得して処理
  3. 技術的な実装プランが 日本語のビジネスサマリ に変換される
  4. 結果がプランの display_titledisplay_summarydisplay_body に保存される

出力構造(ReadablePlan)

LLM が生成する構造化データ:

フィールド説明
displayTitleビジネス向けのプランタイトル
summary1〜2文の要約
backgroundプランの背景・経緯
goal達成すべき目標
tasks主要タスクのリスト
impactビジネスへの影響
reviewPointsレビュー時の確認ポイント
risksリスクと懸念事項
phases[].displayTitle各フェーズのビジネス向けタイトル
phases[].summary各フェーズの要約

再変換

変換結果を更新したい場合は、再変換をリクエストできます:

curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  "https://nolto.app/api/projects/$PROJECT_ID/plans/$PLAN_ID/retransform"
ℹ️

再変換は月間の変換クォータを 1 回分消費します。 残りのクォータは GET /api/usage で確認できます。 詳しくは レート制限・Tier を参照してください。


ステータス管理

プランのステータス

ステータス日本語説明
not_started未着手まだ作業を始めていない
in_progress進行中現在作業中
done完了完了した
discarded破棄進めないことにした

許可される遷移

not_started ──→ in_progress ──→ done
    │                │            │
    │                ↓            │
    │           not_started       │
    │                │            │
    ↓                ↓            ↓
discarded ←──── discarded    in_progress
    │
    ↓
not_started
  • not_startedin_progress, discarded
  • in_progressdone, discarded, not_started
  • donein_progress(再開)
  • discardednot_started(復活)

ステータスを更新する

REST API:

curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "done", "message": "全タスク完了"}' \
  "https://nolto.app/api/projects/$PROJECT_ID/plans/$PLAN_ID/status"

MCP:

> このプランのステータスを完了にして

フェーズのステータスと親プランの自動派生

フェーズのステータスを更新すると、親プランのステータスが 自動的に派生 されます:

フェーズの状態派生される親プランのステータス
全フェーズが discardeddiscarded
discarded 以外の全フェーズが donedone
いずれかのフェーズが in_progressin_progress
上記以外not_started
curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "done"}' \
  "https://nolto.app/api/projects/$PROJECT_ID/plans/$PLAN_ID/phases/$PHASE_ID/status"

アサイニー(担当者)

プランに担当者を設定できます。担当者はプロジェクトメンバーである必要があります。

# 担当者を設定
curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": "user-uuid-here"}' \
  "https://nolto.app/api/projects/$PROJECT_ID/plans/$PLAN_ID/assignee"

# 担当者をクリア
curl -X POST \
  -H "Authorization: Bearer $VIDOCS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": null}' \
  "https://nolto.app/api/projects/$PROJECT_ID/plans/$PLAN_ID/assignee"
💡

プラン登録時に git.userEmail を指定すると、そのメールアドレスに一致する Nolto ユーザーが自動的にコントリビューターとして紐づきます。