Files
yutu/AGENTS.md
T

2.0 KiB

Yutu

Go CLI + MCP server + Agent for YouTube.

Quick Reference

  • Build: go build -o yutu . or bazel build //...
  • Test: go test ./... or bazel test //...
  • Smoke Tests: ./scripts/command-test.sh
  • Entry Point: main.go

Directory Index

Directory Description
cmd/ CLI command definitions and MCP tool bindings
pkg/ Core domain logic and shared infrastructure
internal/ Internal tools (docgen, skillgen)
scripts/ Utility scripts and smoke tests
docs/ Project documentation

Documentation

Conventions

  • Secrets: client_secret.json and youtube.token.json in root (standard for this project).
  • Build System: Bazel is primary, standard Go tools also work.
  • BUILD.bazel files are auto-generated — do NOT create or edit them manually. Run bazel run //:gazelle to regenerate.
  • After changing dependencies: bazel run @rules_go//go -- mod tidy -v && bazel mod tidy.
  • See docs/CONTRIBUTING.md for the full list of useful build/test/release commands.

Adding a New YouTube Resource

Every new resource package under pkg/ and cmd/ must also be registered in:

  1. main.go — add a blank import (_ "github.com/eat-pray-ai/yutu/cmd/<resource>").
  2. internal/tools/skillgen/main.go — add a blank import and a categoryMap entry.
  3. internal/tools/cmdtestgen/main.go — add a blank import.
  4. cmd/agent/agents.go — add the resource's MCP tool names to the appropriate agent definition (Aagje for read-only, Knorretje for create/update, Daan for delete).