Configure the environment
Copy .env.example to .env and add credentials through your approved secret manager.
Knowledge Assistant converts one or more Slack threads into a reviewable Knowledge Base article, then opens a GitHub draft PR after human approval.
Run the Python 3.11+ service locally, connect it to Slack, and create your first draft.
Copy .env.example to .env and add credentials through your approved secret manager.
Register the /knowledge slash command and enable Interactivity, or use Socket Mode for private networks.
Send a Slack thread URL with /knowledge draft. Review the preview before publishing.
Install dependencies with uv, keep credentials in an untracked .env file, and start the FastAPI server on port 3000.
.env.example to .env.uv sync --extra dev.cp .env.example .env
uv sync --extra dev
uv run pytest
uv run ruff check .
uv run uvicorn app.main:app \
--host 0.0.0.0 --port 3000Every draft follows the same predictable path from source conversation to published article.
Create the /knowledge slash command and grant the bot permission to read thread replies, respond to commands, and open modals. For HTTP mode, point the command to /slack/events and Interactivity to /slack/interactions. For private deployments, Socket Mode uses SLACK_APP_TOKEN and an outbound WebSocket.
# HTTP callback
uv run uvicorn app.main:app \
--host 0.0.0.0 --port 3000
# Private network / Socket Mode
uv run python -m app.slack_socket_appConfigure the App ID, installation ID, client ID, client secret, and private key through environment variables. Install the app only on approved documentation repositories.
Set DEFAULT_KB_GITHUB_OWNER, DEFAULT_KB_GITHUB_REPO, and KB_ALLOWED_REPOS. The service validates every --repo override and always opens a draft PR.
The default destination. Render a Markdown or MDX article into an allowlisted documentation repository and open a draft pull request.
/knowledge create-pr <thread-link>Use the Confluence option to publish a reviewed page through the Roche MuleSoft MCP Synapse endpoint.
/knowledge draft <thread-link> --confluenceSlack content is redacted before it reaches the model. Repository targets are restricted by an explicit allowlist, and user ownership checks protect draft actions.
.env.KB_ALLOWED_REPOS.GET /health returns { "status": "ok" }./knowledge draft <links...>Generate a preview for approval/knowledge create-pr <links...>Generate a PR preview for approval/knowledge approve <draft-id>Approve a pending draft/knowledge edit <draft-id>Open the edit modal/knowledge cancel <draft-id>Cancel without publishingStart with the health endpoint and Slack interactivity settings. If buttons do not respond, confirm Interactivity & Shortcuts is enabled and points to /slack/interactions.
No documentation sections match your search.