クイックスタート - 5分でAutonomous-Operationsを始める

クイックスタート - 5分でAutonomous-Operationsを始める

概要: このガイドでは、Autonomous-Operationsを使って最初のタスクを実行するまでの手順を5分で説明します。

対象読者: Autonomous-Operationsを初めて使う開発者 所要時間: 5分 前提知識: 基本的なGitとnpmの知識


目次


Autonomous-Operationsとは

Autonomous-Operationsは、人間介入を最小化する完全自律型AI開発オペレーションを実現するプラットフォームです。

主な特徴

  • ゼロ設定: 複雑な設定なしで即座に利用開始
  • ゼロ学習曲線: AIエージェントについて学ぶ必要なし
  • 完全自動化: Issue作成からPR作成まで全自動
実行モデル:
  入力: GitHub Issue
  処理: AIエージェントが自動実行
    - コード生成
    - テスト作成
    - 品質チェック
    - PR作成
  出力: レビュー可能なPull Request

ステップ1: プロジェクトの作成 (2分)

npx agentic-os init my-project

このコマンドを実行すると、以下が自動的に行われます:

自動実行される処理

  1. GitHub認証: ブラウザが開き、GitHubアカウントでログイン
  2. リポジトリ作成: GitHubに新しいリポジトリを作成
  3. ラベル設定: 53個のラベルを自動作成(自動化状態マシン用)
  4. ワークフロー配置: 10以上のGitHub Actionsワークフローをデプロイ
  5. プロジェクト作成: GitHub Projects V2で進捗管理ボードを作成
  6. ローカルクローン: リポジトリをローカルにクローン
  7. 依存関係インストール: 必要なパッケージを自動インストール

実行例

$ npx agentic-os init my-autonomous-project

🚀 Autonomous-Operations セットアップ開始...

✓ GitHub認証完了
✓ リポジトリ作成: my-autonomous-project
✓ ラベル設定完了 (53個)
✓ GitHub Actions配置完了 (12ワークフロー)
✓ Projects V2作成完了
✓ リポジトリクローン完了
✓ 依存関係インストール完了

🎉 セットアップ完了!

次のステップ:
  cd my-autonomous-project
  gh issue create --title "Add login page"

ステップ2: 最初のIssueを作成 (30秒)

プロジェクトディレクトリに移動し、Issueを作成します:

cd my-project
gh issue create --title "Add login page" --body "Email/password authentication"

Issueの内容例

タイトル: Add login page

本文:
ログインページを実装する

要件:
- メールアドレスとパスワードによる認証
- バリデーション機能
- エラーメッセージ表示
- レスポンシブデザイン

実行結果

$ gh issue create --title "Add login page" --body "Email/password authentication"

Creating issue in user/my-project

https://github.com/user/my-project/issues/1

ステップ3: AIによる自動化を確認 (2分)

Issue作成後、数分以内に以下が自動的に実行されます:

自動実行フロー

graph LR
    A[Issue作成] --> B[AIがラベル付け]
    B --> C[エージェント自動割り当て]
    C --> D[コード自動実装]
    D --> E[テスト自動作成]
    E --> F[PR自動作成]

1. AIによる自動ラベリング

Issueの内容を分析し、適切なラベルを自動付与:

  • ✨feature - 新機能追加
  • ⭐Sev.2-High - 優先度: 高
  • 🤖担当-AI Agent - AI Agentが担当
  • 👤CodeGenAgent - CodeGenAgentにアサイン

2. エージェントの自動割り当て

適切なエージェントが自動的にアサインされます:

担当エージェント: CodeGenAgent
実行タスク:
  - ログインページのコンポーネント作成
  - 認証ロジックの実装
  - バリデーション実装
  - ユニットテスト作成

3. コードの自動実装

エージェントがコードを実装:

// src/components/LoginPage.tsx (自動生成)
import React, { useState } from 'react';
import { validateEmail, validatePassword } from './validators';

export function LoginPage() {
  const [email, setEmail] = useState('');
  const [password, setPassword] = useState('');
  const [errors, setErrors] = useState({});

  const handleSubmit = async (e: React.FormEvent) => {
    e.preventDefault();

    // バリデーション
    const newErrors = {};
    if (!validateEmail(email)) {
      newErrors.email = 'Invalid email format';
    }
    if (!validatePassword(password)) {
      newErrors.password = 'Password must be at least 8 characters';
    }

    if (Object.keys(newErrors).length > 0) {
      setErrors(newErrors);
      return;
    }

    // 認証処理
    try {
      await authenticate(email, password);
    } catch (error) {
      setErrors({ general: 'Authentication failed' });
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="email"
        value={email}
        onChange={(e) => setEmail(e.target.value)}
        placeholder="Email"
      />
      {errors.email && <span>{errors.email}</span>}

      <input
        type="password"
        value={password}
        onChange={(e) => setPassword(e.target.value)}
        placeholder="Password"
      />
      {errors.password && <span>{errors.password}</span>}

      <button type="submit">Login</button>
      {errors.general && <span>{errors.general}</span>}
    </form>
  );
}

4. テストの自動作成

// src/components/LoginPage.test.tsx (自動生成)
import { render, fireEvent, waitFor } from '@testing-library/react';
import { LoginPage } from './LoginPage';

describe('LoginPage', () => {
  it('should display validation errors for invalid email', () => {
    const { getByPlaceholderText, getByText } = render(<LoginPage />);

    fireEvent.change(getByPlaceholderText('Email'), {
      target: { value: 'invalid-email' }
    });
    fireEvent.submit(getByText('Login'));

    expect(getByText('Invalid email format')).toBeInTheDocument();
  });

  it('should submit form with valid credentials', async () => {
    const { getByPlaceholderText, getByText } = render(<LoginPage />);

    fireEvent.change(getByPlaceholderText('Email'), {
      target: { value: 'user@example.com' }
    });
    fireEvent.change(getByPlaceholderText('Password'), {
      target: { value: 'password123' }
    });
    fireEvent.submit(getByText('Login'));

    await waitFor(() => {
      expect(authenticate).toHaveBeenCalledWith('user@example.com', 'password123');
    });
  });
});

5. PRの自動作成

PR #2: feat: Add login page with email/password authentication

## 概要
Issue #1 で要求されたログインページを実装しました。

## 実装内容
- ✅ LoginPageコンポーネントの作成
- ✅ メール/パスワードバリデーション
- ✅ エラーメッセージ表示
- ✅ レスポンシブデザイン
- ✅ ユニットテスト (カバレッジ: 95%)

## 品質スコア
**92点 / 100点** ✅ 合格 (基準: 80点以上)

- コード品質: 95点
- テストカバレッジ: 95%
- セキュリティ: 問題なし
- パフォーマンス: 良好

## テスト結果

✓ 12 tests passed ✓ Build successful ✓ Lint passed ✓ Type check passed


Reviewers: @tech-lead

あなたが行うのはこれだけです。


進捗のモニタリング

リアルタイムでエージェントの活動を確認できます:

npx agentic-os status --watch

出力例

🤖 Autonomous-Operations Status

Active Issues: 1
Active Agents: 1

┌──────────────┬─────────────┬──────────────┬──────────┐
│ Issue        │ Agent       │ Status       │ Progress │
├──────────────┼─────────────┼──────────────┼──────────┤
│ #1 Login     │ CodeGen     │ In Progress  │ 75%      │
│              │             │ Implementing │          │
└──────────────┴─────────────┴──────────────┴──────────┘

Recent Activity:
  15:32 - Created LoginPage component
  15:33 - Added validation logic
  15:34 - Created unit tests
  15:35 - Running build & tests...

Next Steps:
  - Complete testing
  - Create Pull Request
  - Request review

完了

これだけです!Autonomous-Operationsの使い方はすべて理解できました。

学んだこと

  • ✅ プロジェクトのセットアップ方法
  • ✅ Issueの作成方法
  • ✅ AIエージェントによる自動化の仕組み
  • ✅ 進捗のモニタリング方法

実現できたこと

  • 手動作業ゼロ: コード実装は完全自動
  • 品質保証: テストとレビューも自動実行
  • 時間節約: 従来数時間の作業が数分で完了

よくある質問

Q: エージェントについて学ぶ必要がありますか?

A: いいえ。エージェントは完全に自動で動作します。

Q: Issueにラベルを付ける必要がありますか?

A: いいえ。AIが自動的に適切なラベルを付けます。

Q: エージェントを割り当てる必要がありますか?

A: いいえ。Webhookが自動的に適切なエージェントを割り当てます。

Q: 何か問題が起きたらどうすればいいですか?

A: エージェントが自動的にGuardian (@TechLead)にエスカレーションします。

Q: コストはどのくらいかかりますか?

A: オープンソースプロジェクトは無料です。AI機能にはAnthropicのAPIキーが必要です。

Q: どのくらいの時間を節約できますか?

A: 実績データでは83%の時間削減(240分 → 40分)を達成しています。


トラブルシューティング

セットアップでエラーが発生する

# GitHub認証を確認
gh auth status

# 再ログイン
gh auth login

Issueが自動処理されない

# Webhookの設定を確認
gh api repos/:owner/:repo/hooks

# GitHub Actionsのログを確認
gh run list

エージェントが反応しない

  1. リポジトリの設定で「Actions」が有効になっているか確認
  2. 必要な権限(repo, workflow, project)があるか確認
  3. APIキー(ANTHROPIC_API_KEY)が設定されているか確認

詳細はセットアップガイドを参照してください。


高度な使い方(オプション)

コミットから自動的にIssueを作成

git commit -m "feat: Add dark mode #auto"
# → Issue が自動作成されます

PRコメントから自動的にIssueを作成

PRに以下のコメントを追加:

@agentic-os test this new component

→ テスト用Issueが自動作成されます

並行実行で複数タスクを同時処理

# 複数のIssueを同時に処理
npm run agents:parallel:exec -- \
  --issues=1,2,3 \
  --concurrency=3

関連ドキュメント


次のステップ

初心者向け

  1. 基本コンセプトを学ぶ

    • Agent階層システム
    • GitHub as OS
    • Log-Driven Development
  2. セットアップガイドを確認

    • GitHub Tokenの詳細設定
    • 環境変数の設定
    • 権限の理解

実装者向け

  1. システムアーキテクチャを理解

    • エージェントの動作原理
    • 並行実行の仕組み
    • 品質保証プロセス
  2. CLI使用ガイドを読む

    • 高度なコマンド
    • デバッグ方法
    • パフォーマンス最適化

ドキュメントバージョン: 1.0.0 最終更新: 2025-10-10 メンテナー: Autonomous-Operations Team

🤖 このドキュメントはAutonomous-Operationsプロジェクトの一部です