Interactive

Agentic Coding

弊社ではGitHubのCopilotのProプラントとClaudeCodeのMaxプランを併用して使用しています。

Copilotはタブキーの補完やコードレビューに使用しており、ClaudeCodeは主に手元での開発に使用しています。

資源の共有

弊社にはシステムプロンプトと全製品の仕様書、社内MCPサーバ、共有設定ファイルを管理するリポジトリが1つ存在し、それらをGitHubのActionsを用いて各リポジトリに同期しています。

- name: ✴️ Sync .claude/agents
  run: |
    rm -rf TO/.claude/agents/_
    mkdir -p TO/.claude/agents
    mkdir -p TO/.claude/agents/_
    echo "$CLAUDE_AGENTS" | xargs -I {} cp "FROM/$CLAUDE_AGENTS_FROM/{}" "TO/.claude/agents/_/{}"

また、いくつのかのシステムプロンプトは、オープンソースのリポジトリに同期しています。

https://github.com/interactive-inc/open-prompt

システムプロンプト

2つの製品のシステムプロンプトを管理するのは大変なので、CLAUDE.mdから @ でCopilotのシステムプロンプトを読み込んでいます。

See @.github/copilot-instructions.md for project overview and @package.json for available npm commands for this project.

## Additional Instructions

- @.github/instructions/core.instructions.md
- @.github/instructions/ts.instructions.md
- @.github/instructions/output-style.instructions.md

Copilotのシステムプロンプトを利用しているのは、現状はCopilotにはファイルの読み込み機能が無い為です。

書類の管理

ある程度の規模の製品では、弊社では以下のような構成で仕様や要件定義、計画を管理しています。

- .docs
  - requirements
  - issues
  - notes
  - terms
  - products
    - product-a
      - site-routes
      - features
      - notes

文章を残す事で、既存の使用を元に要件定義や計画を作成したり、計画を元に実装を進めるなどが可能になります。

社内のMCPサーバ

弊社では製品の仕様書を読み書きする為のMCPサーバを開発しいくつかのリポジトリで運用しています。

{
  "mcpServers": {
    "local": {
      "command": "bun",
      "args": ["mcp/index.ts"]
    }
  }
}

このMCPサーバの目的は、弊社の策定する仕様書のディレクトリ構成やFrontMatterのルールに従って仕様の読み書きすることです。

ClaudeCodeのReadツールと異なり、ファイルの概要付きでの一覧、FrontMatterの値を用いたファイルの結合、バリデーションを用いたFrontMatterの更新が可能になっています。