Parent Issue
Part of #2 — Phase 3: Documentation Content (EN)
Objective
Create the Extending section (plugin development), Reference section (API tables), and migrate Blog posts.
Source Material
docs/extension-guide.md: Full extension guide (hooks, tools, skills, patterns, pitfalls)
src/bub/hookspecs.py: 13 hook specifications
src/bub/tools.py: @tool decorator, REGISTRY
src/bub/builtin/tools.py: All builtin tool implementations
src/bub/builtin/settings.py: AgentSettings model
env.example: All environment variables
docs/posts/2026-03-01-bub-socialized-evaluation-and-agent-partnership.md
docs/posts/2025-07-16-baby-bub-bootstrap-milestone.md
Files to Create
Extending Section
1. src/content/docs/en/extending/plugins.mdx
- Plugin basics:
@hookimpl, class shape
- Entry-point registration (
[project.entry-points."bub"])
- Plugin loading order and priority
- Minimal end-to-end EchoPlugin example
- Testing with
bub hooks
2. src/content/docs/en/extending/custom-hooks.mdx
- Override vs observe pattern
- Stream wrapping (listen to parent stream)
subset_hook_caller() pattern
- Sync vs async implementation rules
- Signature matching
- Common pitfalls (stale hook names, missing imports, async in sync paths)
3. src/content/docs/en/extending/custom-channels.mdx
- Channel ABC (
src/bub/channels/base.py)
- Implement: name, enabled, start, stop, send, on_event
- Register via
provide_channels hook
- Debounce support (
needs_debounce)
- Example: skeleton Discord adapter
4. src/content/docs/en/extending/custom-tools.mdx
@tool decorator usage
- Tool registration (import-time side effect)
- Name resolution (dots vs underscores)
- Tool availability filtering
- Example: custom tool implementation
5. src/content/docs/en/extending/custom-skills.mdx
- SKILL.md anatomy (frontmatter + body)
- Validation rules (name pattern, lengths, metadata)
- Directory structure (scripts/, references/, assets/)
- Packaging skills in extension packages
- Progressive disclosure pattern
Reference Section
6. src/content/docs/en/reference/hook-specs.mdx
- Table of all 13 hooks with: name, type (call_first/call_many), parameters, return type, description
- Extracted directly from
src/bub/hookspecs.py
7. src/content/docs/en/reference/builtin-tools.mdx
- Table of all 15+ tools with: name, category, parameters, description
- Grouped by: Shell & FS, Tape Management, Skills & Web, Meta
8. src/content/docs/en/reference/configuration.mdx
- Complete env var table: variable, default, description
- Grouped by: Core, Channel Manager, Telegram, Advanced
9. src/content/docs/en/reference/cli-commands.mdx
- All commands with full syntax, options, examples
- Hidden commands (bub hooks)
Blog Section
10. src/content/docs/en/blog/socialized-evaluation.mdx
- Migrate from
docs/posts/2026-03-01-bub-socialized-evaluation-and-agent-partnership.md
- Preserve content, add MDX frontmatter
11. src/content/docs/en/blog/bootstrap-milestone.mdx
- Migrate from
docs/posts/2025-07-16-baby-bub-bootstrap-milestone.md
- Preserve content, add MDX frontmatter
Acceptance Criteria
- All 11 files created with correct frontmatter and sidebar ordering
- Extension guide content enhanced with more code examples
- Reference tables accurate against current source code
- Blog posts preserved faithfully
- All internal cross-references link correctly
Parent Issue
Part of #2 — Phase 3: Documentation Content (EN)
Objective
Create the Extending section (plugin development), Reference section (API tables), and migrate Blog posts.
Source Material
docs/extension-guide.md: Full extension guide (hooks, tools, skills, patterns, pitfalls)src/bub/hookspecs.py: 13 hook specificationssrc/bub/tools.py: @tool decorator, REGISTRYsrc/bub/builtin/tools.py: All builtin tool implementationssrc/bub/builtin/settings.py: AgentSettings modelenv.example: All environment variablesdocs/posts/2026-03-01-bub-socialized-evaluation-and-agent-partnership.mddocs/posts/2025-07-16-baby-bub-bootstrap-milestone.mdFiles to Create
Extending Section
1.
src/content/docs/en/extending/plugins.mdx@hookimpl, class shape[project.entry-points."bub"])bub hooks2.
src/content/docs/en/extending/custom-hooks.mdxsubset_hook_caller()pattern3.
src/content/docs/en/extending/custom-channels.mdxsrc/bub/channels/base.py)provide_channelshookneeds_debounce)4.
src/content/docs/en/extending/custom-tools.mdx@tooldecorator usage5.
src/content/docs/en/extending/custom-skills.mdxReference Section
6.
src/content/docs/en/reference/hook-specs.mdxsrc/bub/hookspecs.py7.
src/content/docs/en/reference/builtin-tools.mdx8.
src/content/docs/en/reference/configuration.mdx9.
src/content/docs/en/reference/cli-commands.mdxBlog Section
10.
src/content/docs/en/blog/socialized-evaluation.mdxdocs/posts/2026-03-01-bub-socialized-evaluation-and-agent-partnership.md11.
src/content/docs/en/blog/bootstrap-milestone.mdxdocs/posts/2025-07-16-baby-bub-bootstrap-milestone.mdAcceptance Criteria