Appearance
Setup Flow
Channel setup connects messenger providers and saves the local defaults Murph needs for remote-team coverage. The host machine owns the runtime bundle: credentials, config, SQLite data, generated memory, integrations, policy, review, plugins, and the UI all stay with that runtime.
CLI setup
Run the full setup wizard:
bash
murph setupThe full wizard runs these sections:
text
core -> provider -> coverage -> bot app setup -> owner OAuth -> channels -> schedule -> policy -> statusRun channel-specific setup when only channel settings changed:
bash
murph setup slack
murph setup discord
murph setup channelsMurph setup uses the channel role and saves watched-channel defaults for remote-team coverage.
Slack setup is mostly automated through the Slack manifest and OAuth flow. Discord setup requires a few manual Developer Portal steps first: create the bot, copy the bot token and client secret, add the exact OAuth redirect URI, and enable Message Content intent. Use Discord for the step-by-step checklist.
Browser setup
Start Murph and open the local UI:
bash
murph start
murph openUse the setup wizard to choose the messenger provider. Each provider step shows app value state, install state, owner identity state, direct provider shortcuts, and the exact callback or redirect URI for the current Murph host. The wizard authorizes your own account through OAuth and asks for watched channels. Owner identity is captured from the OAuth callback; Murph does not list workspace members or let you choose another user.
Role-specific HTTP install and event endpoints are available for hosted setups:
text
/api/slack/channel/install
/api/slack/channel/events
/api/discord/channel/installThe unqualified provider install URLs remain compatibility aliases for channel-bot setup. Setup links include a source marker so OAuth returns to the right surface: CLI setup uses source=cli and ends on a browser page that tells you to return to the terminal, while the browser setup wizard uses source=setup and returns to /setup.
Local storage
Secrets are stored in ~/.murph/.credentials. Non-secret app and workspace metadata is stored in ~/.murph/config.yaml.
Channel defaults include:
- the selected channel provider
- the connected Slack workspace or Discord server
- the OAuth owner identity for that workspace/server
- selected channels or all accessible channels
Channel installs use workspace_subscriptions and watched-channel defaults to decide which subscribed user can be routed from a shared-channel event.
If identity is missing, reconnect the messenger provider. murph setup identity remains a compatibility check, but it cannot manually set a different owner.
Setup check
Run a health check after channel setup:
bash
murph doctor