🫘 This is a custom fork of Hendrik Mans excellent beans (prepared any way you like).
It adds optional, lazy synchronization with
- GitHub issues
- ClickUp tasks
and makes it a little easier to configure a desktop native markdown editor to be launched from the TUI.
For all that's awesome about beans, check out Hendrik's work.
go install github.com/toba/beans@latestAdd the following hooks to your project's .claude/settings.json file:
{
"hooks": {
"SessionStart": [
{ "hooks": [{ "type": "command", "command": "beans prime" }] }
],
"PreCompact": [
{ "hooks": [{ "type": "command", "command": "beans prime" }] }
]
}
}-
Get a ClickUp API Token
- Go to ClickUp Settings > Apps > API Token
- Generate a personal token
- Set
CLICKUP_TOKENenvironment variable
-
Find your List ID
- Open the list in ClickUp
- The URL format is:
https://app.clickup.com/{team_id}/v/li/{list_id} - Copy the
list_idportion
-
Configure
.beans.ymlsync: clickup: enabled: true list_id: "your-list-id"
-
Optional: Custom Fields
- Create Date/Text fields in ClickUp UI
- Run
beans clickup fieldsto get field UUIDs - Add to config:
custom_fields: bean_id: "uuid" # Text field for bean ID created_at: "uuid" # Date field updated_at: "uuid" # Date field
-
Optional: User Mappings (for @mentions)
- Run
beans clickup usersto get user IDs - Add to config:
users: username: 12345678
- Run
beans clickup sync [bean-id...]- Sync beans to ClickUpbeans clickup link <bean-id> <task-id>- Link existing taskbeans clickup unlink <bean-id>- Remove linkbeans clickup status- Show sync statusbeans clickup fields- List custom fieldsbeans clickup users- List workspace members
sync:
clickup:
enabled: true
list_id: "901234567890"
# Assignee for new tasks (optional)
# - Not set: assigns to API token owner (default)
# - Set to user ID: assigns to that user
# - Set to 0: creates unassigned tasks
assignee: 12345678
custom_fields:
bean_id: "03efda77-c7a0-..."
created_at: "a1b2c3d4-..."
updated_at: "e5f6g7h8-..."
users:
jason: 12345678
alice: 87654321
status_mapping: # Optional overrides
draft: "backlog"
todo: "to do"
in-progress: "in progress"
completed: "complete"
priority_mapping: # Optional overrides
critical: 1 # Urgent
high: 2
normal: 3
low: 4
deferred: 4
sync_filter:
exclude_status: ["scrapped", "completed"]This project is licensed under the Apache-2.0 License. See the LICENSE file for details.