- Add generate_block_docs.py script that introspects block code to
generate markdown
- Support manual content preservation via <!-- MANUAL: --> markers
- Add migrate_block_docs.py to preserve existing manual content from git
HEAD
- Add CI workflow (docs-block-sync.yml) to fail if docs drift from code
- Add Claude PR review workflow (docs-claude-review.yml) for doc changes
- Add manual LLM enhancement workflow (docs-enhance.yml)
- Add GitBook configuration (.gitbook.yaml, SUMMARY.md)
- Fix non-deterministic category ordering (categories is a set)
- Add comprehensive test suite (32 tests)
- Generate docs for 444 blocks with 66 preserved manual sections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
<!-- Clearly explain the need for these changes: -->
### Changes 🏗️
<!-- Concisely describe all of the changes made in this pull request:
-->
### Checklist 📋
#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
<!-- Put your test plan here: -->
- [x] Extensively test code generation for the docs pages
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces an automated documentation pipeline for blocks and
integrates it into CI.
>
> - Adds `scripts/generate_block_docs.py` (+ tests) to introspect blocks
and generate `docs/integrations/**`, preserving `<!-- MANUAL: -->`
sections
> - New CI workflows: **docs-block-sync** (fails if docs drift),
**docs-claude-review** (AI review for block/docs PRs), and
**docs-enhance** (optional LLM improvements)
> - Updates existing Claude workflows to use `CLAUDE_CODE_OAUTH_TOKEN`
instead of `ANTHROPIC_API_KEY`
> - Improves numerous block descriptions/typos and links across backend
blocks to standardize docs output
> - Commits initial generated docs including
`docs/integrations/README.md` and many provider/category pages
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
631e53e0f6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
4.0 KiB
Todoist Comments
Blocks for creating and managing comments on Todoist tasks and projects.
Todoist Create Comment
What it is
Creates a new comment on a Todoist task or project
How it works
Takes comment content and task/project ID, creates comment via Todoist API.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| content | Comment content | str | Yes |
| id_type | Specify either task_id or project_id to comment on | Id Type | No |
| attachment | Optional file attachment | Dict[str, Any] | No |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| id | ID of created comment | str |
| content | Comment content | str |
| posted_at | Comment timestamp | str |
| task_id | Associated task ID | str |
| project_id | Associated project ID | str |
Possible use case
Adding notes and comments to tasks or projects automatically.
Todoist Delete Comment
What it is
Deletes a Todoist comment
How it works
Uses comment ID to delete via Todoist API.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| comment_id | Comment ID to delete | str | Yes |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| success | Whether the deletion was successful | bool |
Possible use case
Removing outdated or incorrect comments from tasks/projects.
Todoist Get Comment
What it is
Get a single comment from Todoist
How it works
Uses comment ID to retrieve details via Todoist API.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| comment_id | Comment ID to retrieve | str | Yes |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| content | Comment content | str |
| id | Comment ID | str |
| posted_at | Comment timestamp | str |
| project_id | Associated project ID | str |
| task_id | Associated task ID | str |
| attachment | Optional file attachment | Dict[str, Any] |
Possible use case
Looking up specific comment details for reference.
Todoist Get Comments
What it is
Get all comments for a Todoist task or project
How it works
Uses task/project ID to get comments list via Todoist API.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| id_type | Specify either task_id or project_id to get comments for | Id Type | No |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| comments | List of comments | List[Any] |
Possible use case
Reviewing comment history on tasks or projects.
Todoist Update Comment
What it is
Updates a Todoist comment
How it works
Takes comment ID and new content, updates via Todoist API.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| comment_id | Comment ID to update | str | Yes |
| content | New content for the comment | str | Yes |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| success | Whether the update was successful | bool |
Possible use case
Modifying existing comments to fix errors or update information.