How airencracken/slackvalue works
slackvalue is a CLI key-value store using public Slack channels as keys and channel messages as values. The workflow validates a command and token, then reads the latest channel message for get or creates/finds a channel and posts a value for set. Channel discovery paginates through active public channels. The sampled code shows the CLI and Slack API calls; README-documented rate limits, eventual consistency, and message-retention TTL are not separate runtime components.
Main entry points: store.go Get and set · main.go Command handling
Components 10
CLI
- Command handling
cmd/slackvalue/main.go - Store initialization
cmd/slackvalue/main.go
Key-value store
- Get and set
pkg/slackstore/store.go - Key validation
pkg/slackstore/store.go - Channel lookup
pkg/slackstore/store.go - Channel provisioning
pkg/slackstore/store.go - Latest message read
pkg/slackstore/store.go - Value message write
pkg/slackstore/store.go
Slack workspace
- Slack conversations API
Other components
- CLI user
Connections 14
- CLI user → Command handling: runs commands
README.md - Command handling → Store initialization: creates store
cmd/slackvalue/main.go - Store initialization → Get and set: constructs client
cmd/slackvalue/main.go - Command handling → Get and set: dispatches get/set
cmd/slackvalue/main.go - Get and set → Key validation: validates key
pkg/slackstore/store.go - Get and set → Channel lookup: looks up channel
pkg/slackstore/store.go - Get and set → Channel provisioning: finds or creates
pkg/slackstore/store.go - Channel provisioning → Channel lookup: checks existence
pkg/slackstore/store.go - Channel lookup → Slack conversations API: lists channels
pkg/slackstore/store.go - Channel provisioning → Slack conversations API: creates channel
pkg/slackstore/store.go - Get and set → Latest message read: reads latest value
pkg/slackstore/store.go - Latest message read → Slack conversations API: fetches history
pkg/slackstore/store.go - Get and set → Value message write: writes value
pkg/slackstore/store.go - Value message write → Slack conversations API: posts message
pkg/slackstore/store.go