Paca: AIネイティブなJiraのオープンソース代替案

Pacaは、AIエージェントを周辺的なチャットボットとしてではなく、Scrumチームの第一級メンバーとして統合する、セルフホスト型のオープンソース・プロジェクト管理プラットフォームです。JiraやTrelloのような従来のツールとは異なり、PacaではAIエージェントがスプリントプランニングに参加し、ボードからタスクを取得し、人間のチームメイトと共に技術ドキュメントを共同執筆することが可能です。

AIネイティブなScrumコラボレーション

Pacaは、統合されたScrumbanボード上でAIエージェントを対等なチームメイトとして扱います。このコラボレーションモデルは、単なる自動化を超え、AIエージェントが以下の役割を果たす真のパートナーシップへと進化します。

  • スプリントへの参加: エージェントはスプリントに割り当てられ、リアルタイムでボードに表示されます。
  • タスクの実行: AIエージェントはバックログからタスクをプルし、作業を進めながらステータスを更新します。
  • 技術的な共同執筆: エージェントはProduct OwnersやBusiness Analystsと協力して、Behavior-Driven Development (BDD)のためのGherkinシナリオを記述したり、アーキテクチャの文脈を維持するためにSystem Design Documents (SDD)に貢献したりします。
  • 複雑性への対応: エージェントは、プロジェクトドメイン内で発生する複雑性に調査し、対応するように設計されています。

P-A-C-Aサイクル

このプラットフォームは、科学的手法とScrumを反映した4段階のサイクルでコラボレーションを構造化しています。

  1. Plan: Product Owners、BAs、およびAIエージェントが協力してバックログを洗練させ、BDDシナリオとSDD設計を記述します。
  2. Act: ライブスプリント中、人間とAIエージェントはボードからプルしたタスクを実行します。
  3. Check: QAエージェントが自動検証を行い、人間がAIの出力をレビューします。
  4. Adapt: チームはスプリントデータを使用してレトロスペクティブ(振り返り)を行い、次のサイクルに役立てます。

拡張性とカスタマイズ性

Pacaは、機能の肥大化を避けるために、軽量なコアと堅牢なプラグインシステムで構築されています。

  • 設定駆動型: ワークフロー、ステータス、フィールド定義、およびエージェントの振る舞いは、プロジェクトレベルの設定ファイルによって管理されます。
  • WASMプラグインサンドボックス: バックエンドは、Go、Rust、またはAssemblyScriptで記述されたWebAssembly (WASM) モジュールを使用して拡張可能です。これらのプラグインは、機能ベースの権限モデルを備えたサンドボックス環境で実行されます。
  • フロントエンドモジュール: UIは標準的なモジュールバンドルを介して拡張可能であり、カスタムページ、ボードビュー、およびウィジェットの追加が可能です。
  • プラグインマーケットプレイス: ユーザーはPacaのUI(Settings $\rightarrow$ Plugins $\rightarrow$ Marketplace)からコミュニティプラグインを直接インストールできます。

AIエコシステムとの統合

Pacaは、エージェントがプロジェクトデータに構造化されたアクセスを行えるよう、現代的なAIツールとの深い統合を提供します。

  • MCPサーバー: PacaにはModel Context Protocol (MCP) サーバー (@paca-ai/paca-mcp) が含まれており、これにより、Claude Desktopなどの互換性のあるAIエージェントが、カスタムAPIの配線なしでプロジェクト、タスク、スプリント、およびドキュメントと対話できます。
  • Claude Codeスキル: Pacaは、Claude Code向けに自然言語のスラッシュコマンド(例: /paca-epic, /paca-breakdown, /paca-sprint)を提供しており、開発者がエディタから直接ワークスペースを管理することを可能にします。
  • OpenHands統合: AIエージェントはOpenHands SDKによって駆動され、ホスト環境を保護するために隔離されたサンドボックスコンテナ内で実行されます。

v0.4.0機能アップデート

v0.4.0リリースでは、プラットフォームに2つの主要な機能強化が導入されました。

  • アプリ内AIチャット: ユーザーはプロジェクトレベルでAIエージェントとチャットし、自然な英語を使用して、エピック、ストーリー、タスクの計画や更新を行うことができます。
  • アクティビティの差分表示と差し戻し: アクティビティペインには、すべてのフィールド変更に対して視覚的なBefore/Afterの差分が表示されるようになり、ユーザーはワンクリックで変更を差し戻すことができます。

技術アーキテクチャ

Pacaは、異なるサービス要件に対応するために、ポリグロット(多言語)アーキテクチャを採用しています。

  • Frontend: React, TanStack Start, shadcn/ui。
  • Core API: Go, Gin。
  • Real-time Events: Node.js, Socket.IO。
  • AI Orchestration: Python, FastAPI, OpenHands SDK。
  • Infrastructure: PostgreSQL(永続化用)、Valkey(キャッシュおよび非同期イベントストリーム用)。

コミュニティの視点

高度に統合されたAIネイティブなアプローチを提供している一方で、Pacaに関するHacker Newsでのコミュニ-ティの議論は、標準化されたツールとパーソナライズされたワークフローの間の緊張関係を浮き彫りにしています。一部のユーザーは、プロジェクト管理は時間の経過とともに高度にパーソナライズされるため、プラットフォームに関わらず、サードパーティ製ツールの導入が困難になることがあると指摘しています。また、Jiraの代替案を探しているターゲット層について疑問を呈しており、Jiraの使用決定は、エンドユーザーではなく、マネジメント層によって下されることが多いという点に注目しています。

"Everyone ends up with a workflow that is shaped tightly around how they work, and it's gotten so cheap to build and evolve your own as the models and harnesses as they change, that picking up someone else's stops making much sense."

デプロイメント

PacaはApache License 2.0の下で配布されており、Docker Composeコマンド1つ、またはLinuxサーバー用の対話型インストールスクリプトを使用してデプロイ可能です。

Sources