Files
agentic-govbot/config/config.example.yaml
Nathan Schneider 54beddb420 Add Slack platform adapter and comprehensive platform skills system
Major Features:
- Implemented full Slack channel-bot adapter with Socket Mode
- Added 35+ Mastodon platform skills across 7 categories
- Created constitution publishing system for Mastodon

Slack Adapter (NEW):
- Full PlatformAdapter implementation (1071 lines)
- Socket Mode for real-time events
- 16 channel-scoped governance skills
- User group management as channel "roles"
- Channel access control and management
- Message pinning and moderation
- Platform limitations documentation
- Comprehensive setup guide (SLACK_SETUP.md)

Mastodon Platform Skills (ENHANCED):
- Account Moderation (9 skills): suspend, silence, disable, mark sensitive, delete status
- Account Management (4 skills): approve, reject, delete data, create account
- Report Management (4 skills): assign, unassign, resolve, reopen
- Federation Management (4 skills): block/unblock domains, allow/disallow federation
- Security Management (4 skills): block IP/email domains
- Constitution Management (2 skills): publish constitution, update profile
- Documented web-only limitations (role management requires tootctl)

Constitution Publishing:
- Publish constitution as pinned Mastodon thread
- Automatic deprecation of previous versions
- Version control with change summaries
- Thread splitting for long documents
- CLI tool: scripts/publish_constitution.py
- Documentation: CONSTITUTION_PUBLISHING.md

Configuration & Integration:
- Added SlackConfig model with bot_token, app_token, channel_id
- Updated PlatformConfig to support type: slack
- Added slack-sdk>=3.33.0 dependency
- Bot.py now routes to Slack adapter
- Updated example config with Slack section

Documentation:
- SLACK_SETUP.md: Complete Slack setup guide
- PLATFORM_SKILLS.md: All 35+ Mastodon skills documented
- CONSTITUTION_PUBLISHING.md: Constitution publishing guide
- Updated README.md: Merged QUICKSTART, added Slack to supported platforms
- Updated PLATFORMS.md: Slack marked as implemented with examples
- Updated .gitignore: Added instance-specific state files

Security:
- All sensitive files properly gitignored
- Instance-specific state (.constitution_post_id) excluded
- Credentials properly handled in config

Breaking Changes: None

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 22:46:48 -07:00

50 lines
1.2 KiB
YAML

platform:
# Platform type: mastodon, slack, discord, telegram, mock
type: mastodon
# Mastodon configuration (if using Mastodon)
mastodon:
instance_url: https://your-mastodon-instance.social
client_id: your_client_id_here
client_secret: your_client_secret_here
access_token: your_access_token_here
bot_username: govbot
# Slack configuration (if using Slack)
# slack:
# bot_token: xoxb-your-bot-oauth-token-here
# app_token: xapp-your-app-level-token-here
# channel_id: C0123456789
# Discord configuration (for future use)
# discord:
# token: your_discord_bot_token
# guild_id: your_server_id
# Telegram configuration (for future use)
# telegram:
# bot_token: your_telegram_bot_token
# group_id: your_group_id
ai:
# Use 'llama3.2' for Ollama local models
# Use 'gpt-4' for OpenAI
# Use 'claude-3-sonnet' for Anthropic
# Or leave as null to use llm default
default_model: llama3.2
fallback_model: null
temperature: 0.7
max_tokens: null
governance:
constitution_path: constitution.md
db_path: govbot.db
default_veto_threshold: 0.67 # 2/3 supermajority
enable_auto_execution: true
require_confirmation_for:
- admin_action
- moderation
debug: false
log_level: INFO