Skip to content

docs: add TiDB Cloud CLI (ti) Preview documentation - #23306

Merged
ti-chi-bot[bot] merged 72 commits into
pingcap:release-8.5from
Icemap:docs/tdc-preview
Sep 15, 2026
Merged

ti-chi-bot[bot] merged 72 commits into
pingcap:release-8.5from
Icemap:docs/tdc-preview

Conversation

@Icemap

@Icemap Icemap commented Jul 17, 2026

Copy link
Copy Markdown
Member

What is changed, added or deleted? (Required)

This PR adds Preview documentation for the TiDB Cloud Command Line Interface (ti) to the AI documentation:

  • Adds a quick start, overview, complete per-command reference, scenario-based examples, and supporting reference pages.
  • Covers TiDB Cloud Starter databases, TiDB Cloud Filesystem, FS Git workspaces, journals, vaults, configuration, security, regions, installation, and updates.
  • Documents remote Filesystem inventory and explicit selection by immutable file system ID.
  • Documents organization-visible Filesystem display names and labels, metadata filters, quota and usage output, and the invariant that resource selection remains ID-based.
  • Adds individual references and lifecycle guidance for generating owner and path-and-operation-limited scoped tokens, listing token metadata, enabling, disabling, refreshing, and deleting Filesystem tokens.
  • Explains that one Filesystem can have multiple owner and scoped tokens while the local CLI selects at most one token per profile and file system ID.
  • Documents one-time token plaintext handling, scoped path and operation grants, owner/scoped capability boundaries, local credential replacement, external secret-manager rotation, authentication convergence, and active-mount protection.
  • Documents projectless local configuration, server-default Starter placement, removal of the project inventory command, and preservation of project metadata returned by TiDB Cloud.
  • Documents synchronous resource workflows with --wait, asynchronous Filesystem deletion, explicit Filesystem selection, and Starter-only database guardrails.
  • Documents Linux FUSE, Docker and Docker Compose requirements, macOS WebDAV and macFUSE behavior, Ubuntu 26.04 AppArmor mount-path restrictions, and graceful unmount behavior.
  • Documents the hidden ~/.ti/.preferences file, anonymous telemetry privacy boundaries and controls, and the ti update local-state isolation boundary.
  • Documents the v0.2 migration from tdc to ti, including ~/.tdc to ~/.ti state migration, active-mount handling, conflict protection, canonical environment variables, and the temporary legacy-variable compatibility window.
  • Renames the documentation directory, filenames, commands, local paths, environment variables, repository links, TOC entries, and internal links from the pre-v0.2 tdc name to ti.
  • Clarifies that ti manages Starter and Filesystem workflows and does not replace ticloud for TiDB Cloud Essential.

These changes provide task-oriented documentation that gets users and coding agents to a working database or Filesystem quickly while documenting the complete command surface and the boundary between ti and its bundled Drive9 companion.

Which TiDB version(s) do your changes apply to? (Required)

  • master (the latest development version)
  • v8.5 (TiDB 8.5 versions)
  • v8.4 (TiDB 8.4 versions)
  • v8.3 (TiDB 8.3 versions)
  • v8.2 (TiDB 8.2 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)

What is the related PR or file link(s)?

AI agent involvement

  • The changes in this PR were primarily made by an AI agent on behalf of the PR author.

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Validation

  • git diff --check
  • Internal documentation-link validation
  • Current TiDB Cloud CLI command and flag review
  • make test
  • make e2e
  • make live-e2e-fs

Summary by CodeRabbit

  • Documentation
    • Reorganized AI documentation with updated quick starts and guide categories for vector search, data operations, integrations, and AI applications.
    • Added comprehensive TiDB Cloud CLI (ti) guidance, including installation, configuration, Starter instances, Filesystem management, Git workspaces, journals, Vault secrets, troubleshooting, migration, and command references.
    • Added practical workflows for automation, CI artifacts, agent sandboxes, shared datasets, persistent state, and SQL roles.
    • Clarified when to use ti versus the legacy ticloud CLI.
    • Moved the PyTiDB CRUD walkthrough into the tables guide.

@ti-chi-bot

ti-chi-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@ti-chi-bot ti-chi-bot Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. missing-translation-status This PR does not have translation status info. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jul 17, 2026
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR reorganizes AI documentation navigation and adds extensive documentation for the Preview ti CLI. It covers installation, Starter instances, Filesystem operations, command references, security, migration, troubleshooting, and automation scenarios. Existing ticloud pages are renamed for clarity.

Changes

AI navigation and CLI naming

Layer / File(s) Summary
AI navigation and product naming
TOC-ai.md, ai/_index.md, TOC-tidb-cloud-essential.md, TOC-tidb-cloud-starter.md, tidb-cloud/cli-reference.md, tidb-cloud/get-started-with-cli.md
AI navigation is reorganized around Search & Retrieval, Work with Data, Build AI Applications, integrations, and the new ti CLI documentation. The standalone PyTiDB example is removed and its workflow is added to the tables guide. Existing CLI pages identify ticloud separately from ti.

CLI foundations and database workflows

Layer / File(s) Summary
CLI setup and operating model
ai/ti/ti-overview.md, ai/ti/ti-quick-start.md, ai/ti/reference/ti-install-configure-update.md, ai/ti/reference/commands/ti/*, ai/ti/reference/ti-cli-reference.md, ai/ti/reference/ti-configuration-and-credentials.md
New documentation covers installation, configuration, profiles, credentials, local state, update and uninstall behavior, command syntax, output, errors, dry runs, logging, and telemetry.
Starter database command reference
ai/ti/guides/manage-starter-instances.md, ai/ti/reference/ti-starter-database.md, ai/ti/reference/commands/db/*
Documents Starter instance and branch management, SQL user creation, connection-string formatting, SQL execution, validation rules, pagination, roles, transports, and wait behavior.

Filesystem workflows

Layer / File(s) Summary
Filesystem resources, tokens, and data
ai/ti/guides/manage-filesystem-resources.md, ai/ti/guides/manage-filesystem-tokens.md, ai/ti/guides/work-with-filesystem-data.md, ai/ti/reference/ti-filesystem.md, ai/ti/reference/commands/fs/*
Adds guides and command references for creating, inspecting, selecting, deleting, and securing Filesystems; managing tokens; transferring and searching data; and configuring namespace operations.
Layers, mounts, portability, and AI providers
ai/ti/guides/manage-filesystem-layers.md, ai/ti/guides/mount-filesystem.md, ai/ti/guides/configure-filesystem-ai-providers.md, ai/ti/reference/commands/fs/*
Documents layers, checkpoints, forks, rollback and commit, mount drivers, FUSE and WebDAV behavior, container and AppArmor requirements, overlay portability, extraction providers, and embedding configuration.

Specialized references and scenarios

Layer / File(s) Summary
Git, journals, and Vault
ai/ti/guides/manage-git-workspaces.md, ai/ti/guides/use-filesystem-journals.md, ai/ti/guides/manage-filesystem-vault-secrets.md, ai/ti/reference/ti-filesystem-git.md, ai/ti/reference/ti-filesystem-journal.md, ai/ti/reference/ti-filesystem-vault.md, ai/ti/reference/commands/fs-git/*, ai/ti/reference/commands/fs-journal/*, ai/ti/reference/commands/fs-vault/*
Adds workflows and command references for Git workspaces, append-only journals, Vault secrets, delegated grants, auditing, secret injection, and read-only mounts.
Security, migration, troubleshooting, and scenarios
ai/ti/reference/ti-regions-security-and-limitations.md, ai/ti/reference/ti-migrate-from-tdc.md, ai/ti/reference/ti-troubleshooting.md, ai/ti/reference/*-example.md
Adds supported-region and platform boundaries, credential and security guidance, tdc migration instructions, troubleshooting procedures, and examples for agents, CI, shared Filesystems, persistent state, SQL roles, journals, Git workspaces, and Vault secrets.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Other

Merge Risk: 🟠 High · up to 6c892

Following the new documentation can expose powerful credentials, give read-only workers destructive access, or produce unreliable deletion and durability results. These issues should be corrected before merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding Preview documentation for the TiDB Cloud CLI (ti).
Description check ✅ Passed The description is complete and directly covers the documentation scope, affected version, related references, AI involvement, file deletions, alias changes, conflict risk, and validation performed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Icemap
Icemap marked this pull request as ready for review July 17, 2026 18:56
@ti-chi-bot ti-chi-bot Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 17, 2026
@Icemap Icemap added translation/done This PR has been translated from English into Chinese and updated to pingcap/docs-cn in a PR. and removed missing-translation-status This PR does not have translation status info. labels Jul 17, 2026
@Icemap

Icemap commented Jul 17, 2026

Copy link
Copy Markdown
Member Author

Chinese Translation PR(from this PR): pingcap/docs-cn#21821
Do NOT need to translate for Cloud docs.

@Icemap Icemap added translation/no-need No need to translate this PR. and removed translation/done This PR has been translated from English into Chinese and updated to pingcap/docs-cn in a PR. labels Jul 20, 2026
github-actions Bot pushed a commit to qiancai/pingcap-docsite-preview that referenced this pull request Jul 21, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4d883b3f-66fa-4bed-96ac-947087cee7c2

📥 Commits

Reviewing files that changed from the base of the PR and between af05473 and 977c8a5.

📒 Files selected for processing (23)
  • TOC-ai.md
  • ai/_index.md
  • ai/tdc/concepts/tdc-concepts-and-architecture.md
  • ai/tdc/examples/tdc-agent-sandbox-example.md
  • ai/tdc/examples/tdc-daily-workflow-example.md
  • ai/tdc/examples/tdc-git-workspace-for-agents-example.md
  • ai/tdc/examples/tdc-journal-agent-workflow-example.md
  • ai/tdc/examples/tdc-query-sql-with-roles-example.md
  • ai/tdc/examples/tdc-share-filesystem-across-machines-example.md
  • ai/tdc/examples/tdc-vault-agent-secrets-example.md
  • ai/tdc/guides/tdc-filesystem-git.md
  • ai/tdc/guides/tdc-filesystem-journal.md
  • ai/tdc/guides/tdc-filesystem-vault.md
  • ai/tdc/guides/tdc-filesystem.md
  • ai/tdc/guides/tdc-install-configure-update.md
  • ai/tdc/guides/tdc-organization.md
  • ai/tdc/guides/tdc-starter-database.md
  • ai/tdc/reference/tdc-cli-reference.md
  • ai/tdc/reference/tdc-configuration-and-credentials.md
  • ai/tdc/reference/tdc-regions-security-and-limitations.md
  • ai/tdc/reference/tdc-troubleshooting.md
  • ai/tdc/tdc-overview.md
  • ai/tdc/tdc-quick-start.md


Coding agents often start in clean, short-lived sandboxes. The local disk disappears when the sandbox is replaced, but the agent still needs previous artifacts, repository state, and files produced by other workers. Rebuilding that state wastes task time, while copying `~/.tdc/` or injecting TiDB Cloud API keys gives the sandbox control-plane credentials it does not need.

## Why local storage and full cloud credentials are not enough

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Replace vague quantifiers flagged by Vale.

These replacements make the documentation more precise without changing its technical meaning.

  • ai/tdc/examples/tdc-agent-sandbox-example.md#L18-L18: replace the heading with “Why local storage and full cloud credentials do not solve the full problem”.
  • ai/tdc/examples/tdc-agent-sandbox-example.md#L20-L20: replace “a much broader security boundary” with “a broader security boundary”.
  • ai/tdc/examples/tdc-git-workspace-for-agents-example.md#L18-L18: replace the heading with “Why a normal clone or partial clone does not solve the startup problem”.
  • ai/tdc/examples/tdc-git-workspace-for-agents-example.md#L20-L20: replace “many on-demand fetches” with “repeated on-demand fetches”.
  • ai/tdc/examples/tdc-journal-agent-workflow-example.md#L18-L18: replace the heading with “Why appending to a normal file does not provide the required guarantees”.
  • ai/tdc/examples/tdc-query-sql-with-roles-example.md#L18-L18: replace the heading with “Why one native database connection does not provide sufficient privilege isolation”.
  • ai/tdc/examples/tdc-share-filesystem-across-machines-example.md#L18-L18: replace the heading with “Why native local disks and manual synchronization do not provide shared state”.
  • ai/tdc/examples/tdc-vault-agent-secrets-example.md#L16-L16: replace “the lifetime that need it” with “the lifetime that require it”.
  • ai/tdc/examples/tdc-vault-agent-secrets-example.md#L18-L18: replace the heading with “Why ordinary environment variables and files do not provide scoped delegation”.

As per path instructions, these Markdown wording fixes should be applied as exact committable replacements.

🧰 Tools
🪛 GitHub Check: vale

[warning] 18-18:
[vale] reported by reviewdog 🐶
[PingCAP.Ambiguous] Consider using a clearer word than 'enough' because it may cause confusion.

Raw Output:
{"message": "[PingCAP.Ambiguous] Consider using a clearer word than 'enough' because it may cause confusion.", "location": {"path": "ai/tdc/examples/tdc-agent-sandbox-example.md", "range": {"start": {"line": 18, "column": 57}}}, "severity": "INFO"}

📍 Affects 6 files
  • ai/tdc/examples/tdc-agent-sandbox-example.md#L18-L18 (this comment)
  • ai/tdc/examples/tdc-agent-sandbox-example.md#L20-L20
  • ai/tdc/examples/tdc-git-workspace-for-agents-example.md#L18-L18
  • ai/tdc/examples/tdc-git-workspace-for-agents-example.md#L20-L20
  • ai/tdc/examples/tdc-journal-agent-workflow-example.md#L18-L18
  • ai/tdc/examples/tdc-query-sql-with-roles-example.md#L18-L18
  • ai/tdc/examples/tdc-share-filesystem-across-machines-example.md#L18-L18
  • ai/tdc/examples/tdc-vault-agent-secrets-example.md#L16-L16
  • ai/tdc/examples/tdc-vault-agent-secrets-example.md#L18-L18

Sources: Path instructions, Linters/SAST tools

Comment thread ai/tdc/reference/tdc-daily-workflow-example.md Outdated
Comment thread ai/tdc/reference/tdc-share-filesystem-across-machines-example.md Outdated
Comment on lines +43 to +52
export TDC_VAULT_TOKEN="$(tdc fs-vault create-grant \
--agent-id example-agent \
--scope service-demo/ENDPOINT \
--permission read \
--ttl 10m \
--label-hint example \
--token-only)"
```

Record the returned grant ID from the structured create result in a real workflow. The token is captured and not printed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## tree\n'
git ls-files .ai/AI-README.md .ai/shared .ai/skills | sed -n '1,200p'

printf '\n## relevant files\n'
fd -a -t f 'AI-README.md|.*' .ai . 2>/dev/null | sed -n '1,200p'

Repository: pingcap/docs

Length of output: 10488


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## .ai/AI-README.md\n'
cat -n .ai/AI-README.md

printf '\n## .ai/shared files\n'
fd -a -t f . .ai/shared 2>/dev/null | sed -n '1,200p'

printf '\n## .ai/skills files\n'
fd -a -t f . .ai/skills 2>/dev/null | sed -n '1,200p'

Repository: pingcap/docs

Length of output: 219


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## .ai/AI-README.md\n'
sed -n '1,220p' .ai/AI-README.md

printf '\n## .ai/shared\n'
for f in .ai/shared/*.md; do
  [ -f "$f" ] || continue
  printf '\n### %s\n' "$f"
  sed -n '1,220p' "$f"
done

printf '\n## .ai/skills matching review-doc-pr if present\n'
if [ -d .ai/skills/review-doc-pr ]; then
  find .ai/skills/review-doc-pr -maxdepth 2 -type f | sort | while read -r f; do
    printf '\n### %s\n' "$f"
    sed -n '1,220p' "$f"
  done
fi

Repository: pingcap/docs

Length of output: 230


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## target file excerpt\n'
cat -n ai/tdc/examples/tdc-vault-agent-secrets-example.md | sed -n '1,220p'

printf '\n## search for create-grant / delete-grant usage\n'
rg -n "create-grant|delete-grant|grant ID|token-only|structured create result|label-hint" ai/tdc -S

Repository: pingcap/docs

Length of output: 5315


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## required guidance\n'
sed -n '1,220p' .ai/AI-README.md

printf '\n## shared guidance files\n'
for f in .ai/shared/*.md; do
  [ -f "$f" ] || continue
  printf '\n### %s\n' "$f"
  sed -n '1,220p' "$f"
done

printf '\n## review-doc-pr skill files\n'
if [ -d .ai/skills/review-doc-pr ]; then
  find .ai/skills/review-doc-pr -maxdepth 2 -type f | sort | while read -r f; do
    printf '\n### %s\n' "$f"
    sed -n '1,220p' "$f"
  done
fi

Repository: pingcap/docs

Length of output: 231


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '## target file excerpt\n'
cat -n ai/tdc/examples/tdc-vault-agent-secrets-example.md | sed -n '1,220p'

printf '\n## related references\n'
rg -n "create-grant|delete-grant|grant ID|token-only|structured create result|label-hint" ai/tdc -S

Repository: pingcap/docs

Length of output: 5289


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "README:"
sed -n '1,220p' .ai/AI-README.md

echo
echo "TARGET:"
cat -n ai/tdc/examples/tdc-vault-agent-secrets-example.md | sed -n '1,220p'

echo
echo "MATCHES:"
rg -n "create-grant|delete-grant|grant ID|token-only|structured create result|label-hint" ai/tdc -S

Repository: pingcap/docs

Length of output: 218


🏁 Script executed:

#!/bin/bash
set -euo pipefail

cat -n ai/tdc/guides/tdc-filesystem-vault.md | sed -n '50,130p'

Repository: pingcap/docs

Length of output: 2747


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path
p = Path('ai/tdc/guides/tdc-filesystem-vault.md')
text = p.read_text()
for key in ['create-grant', 'delete-grant', '--token-only', '--format', 'grant-id', 'structured']:
    print(f'## {key}')
    for i, line in enumerate(text.splitlines(), 1):
        if key in line:
            print(f'{i}: {line}')
PY

Repository: pingcap/docs

Length of output: 778


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path
p = Path('ai/tdc/guides/tdc-filesystem-vault.md')
lines = p.read_text().splitlines()
for start in [1, 50, 90, 130]:
    print(f'## lines {start}-{min(start+49, len(lines))}')
    for i in range(start, min(start+50, len(lines)+1)):
        print(f'{i:4d} {lines[i-1]}')
PY

Repository: pingcap/docs

Length of output: 5692


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "## guide excerpt"
sed -n '55,115p' ai/tdc/guides/tdc-filesystem-vault.md

echo
echo "## create-grant / delete-grant context"
rg -n -C 3 "create-grant|delete-grant|token-only|grant-id|format" ai/tdc/guides/tdc-filesystem-vault.md

Repository: pingcap/docs

Length of output: 2629


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path
p = Path('ai/tdc/examples/tdc-vault-agent-secrets-example.md')
lines = p.read_text().splitlines()

# Print the exact surrounding context for the comment target.
for i in range(40, 86):
    if 1 <= i <= len(lines):
        print(f'{i:4d} {lines[i-1]}')
PY

Repository: pingcap/docs

Length of output: 1429


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path
p = Path('ai/tdc/examples/tdc-vault-agent-secrets-example.md')
text = p.read_text()

# Look for any statement that suggests grant ID is available with token-only.
for needle in [
    'structured create result',
    'returned grant ID',
    '--token-only',
    '--format',
    'grant-id',
]:
    print(f'== {needle} ==')
    for i, line in enumerate(text.splitlines(), 1):
        if needle in line:
            print(f'{i}: {line}')
PY

Repository: pingcap/docs

Length of output: 578


Preserve the grant ID for revocation. --token-only only returns the vault token, but Step 4 still needs <grant-id> for delete-grant. Show how to keep the grant ID in the flow, or split this into a separate non---token-only create-grant step.

Suggested replacement
Suggested change
export TDC_VAULT_TOKEN="$(tdc fs-vault create-grant \
--agent-id example-agent \
--scope service-demo/ENDPOINT \
--permission read \
--ttl 10m \
--label-hint example \
--token-only)"
```
Record the returned grant ID from the structured create result in a real workflow. The token is captured and not printed.
Record the returned grant ID from the create result in a real workflow. If you need to revoke the grant later, run `tdc fs-vault create-grant` without `--token-only` and save the returned grant ID before exporting the token.

Comment thread ai/tdc/reference/tdc-filesystem.md Outdated
Comment thread ai/tdc/reference/tdc-install-configure-update.md Outdated
Comment thread ai/tdc/reference/tdc-troubleshooting.md Outdated
Comment thread ai/ti/ti-quick-start.md Outdated
Comment on lines +100 to +105
Clean up:

```bash
tdc fs delete-file-system \
--file-system-name quickstart-fs
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Make asynchronous Filesystem cleanup explicit.

The PR documents Filesystem deletion as asynchronous, but this section ends immediately after submitting the delete request. Users can therefore assume the resource is gone while deletion is still pending.

Suggested Markdown insertion
 tdc fs delete-file-system \
   --file-system-name quickstart-fs

+Filesystem deletion is asynchronous. Verify that the resource reaches its terminal deleted state before treating cleanup as complete.

</details>

As per path instructions, this is a safe contiguous Markdown insertion.

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion
Clean up:

Source: Path instructions

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ai/tdc/reference/tdc-cli-reference.md (1)

17-29: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Put global flags after command-specific optional flags.

The syntax specifies required flags, then optional flags, then global flags, but this example places global --output before optional --view. Keep the example consistent with the documented ordering.

tdc db describe-db-cluster
  --db-cluster-id <string>
  [--view <string>]
  [--output <string>]

Source: Path instructions


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 23d03ff3-8115-45be-bdc2-7b773b107c5a

📥 Commits

Reviewing files that changed from the base of the PR and between 977c8a5 and 5b98201.

📒 Files selected for processing (1)
  • ai/tdc/reference/tdc-cli-reference.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ai/tdc/reference/tdc-cli-reference.md (1)

127-131: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the error example match the documented leading blank line.

The prose states that errors start with a blank line, but the example begins directly with tdc [ERROR].

As per path instructions, this Markdown fix is provided as a committable replacement.

Proposed replacement
 ```text
+
 tdc [ERROR]: <message>

</details>

<!-- cr-comment:v1:ab4f5392eeee50b178f6f080 -->

_Source: Path instructions_

</blockquote></details>

</blockquote></details>

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e0107458-475e-4aa2-8ae6-703677039572

📥 Commits

Reviewing files that changed from the base of the PR and between 5b98201 and 7079820.

📒 Files selected for processing (1)
  • ai/tdc/reference/tdc-cli-reference.md

github-actions Bot pushed a commit to qiancai/pingcap-docsite-preview that referenced this pull request Jul 21, 2026
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md Outdated
Comment thread TOC-ai.md
Comment thread TOC-ai.md Outdated
Comment thread ai/tdc/tdc-overview.md Outdated
> **Note:**
>
> tdc is currently in Preview. Its features and command-line interface might change without prior notice.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before "What you can do with td", users also need to know "When to use tdc"

  • In what scenarios should users choose tdc instead of ticloud/Console?
  • What can tdc do that ticloud cannot?
Suggested change
## When to use tdc
Use tdc when you need to:
- **Manage TiDB Cloud Filesystem**: create Filesystem resources, access files, use Git workspaces, journals, or vault — these capabilities are only available through tdc.
- **Automate with AI agents**: tdc commands are non-interactive (except `tdc configure`), return structured JSON by default, and support JMESPath queries, making them suitable for agent-generated command sequences.
- **Use explicit SQL role permissions**: tdc creates read-only, read-write, and admin SQL users with separate connection strings, so you can grant agents the minimum required access.

@qiancai

qiancai commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

@coderabbitai please do a full review of this PR.

@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

@qiancai I will perform a full review of this PR.

✅ Action performed

Full review finished.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 31


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 6f54e229-def1-4050-bb5f-417b265c0f4c

📥 Commits

Reviewing files that changed from the base of the PR and between 7626225 and 6c892b8.

📒 Files selected for processing (119)
  • TOC-ai.md
  • TOC-tidb-cloud-essential.md
  • TOC-tidb-cloud-starter.md
  • ai/_index.md
  • ai/examples/basic-with-pytidb.md
  • ai/guides/tables.md
  • ai/ti/guides/configure-filesystem-ai-providers.md
  • ai/ti/guides/manage-filesystem-layers.md
  • ai/ti/guides/manage-filesystem-resources.md
  • ai/ti/guides/manage-filesystem-tokens.md
  • ai/ti/guides/manage-filesystem-vault-secrets.md
  • ai/ti/guides/manage-git-workspaces.md
  • ai/ti/guides/manage-starter-instances.md
  • ai/ti/guides/mount-filesystem.md
  • ai/ti/guides/use-filesystem-journals.md
  • ai/ti/guides/work-with-filesystem-data.md
  • ai/ti/reference/commands/db/ti-db-create-db-cluster-branch.md
  • ai/ti/reference/commands/db/ti-db-create-db-cluster.md
  • ai/ti/reference/commands/db/ti-db-create-db-sql-users.md
  • ai/ti/reference/commands/db/ti-db-delete-db-cluster-branch.md
  • ai/ti/reference/commands/db/ti-db-delete-db-cluster.md
  • ai/ti/reference/commands/db/ti-db-describe-db-cluster-branch.md
  • ai/ti/reference/commands/db/ti-db-describe-db-cluster.md
  • ai/ti/reference/commands/db/ti-db-execute-sql-statement.md
  • ai/ti/reference/commands/db/ti-db-format-db-connection-string.md
  • ai/ti/reference/commands/db/ti-db-list-db-cluster-branches.md
  • ai/ti/reference/commands/db/ti-db-list-db-clusters.md
  • ai/ti/reference/commands/db/ti-db-update-db-cluster.md
  • ai/ti/reference/commands/fs-git/ti-fs-git-add-git-worktree.md
  • ai/ti/reference/commands/fs-git/ti-fs-git-clone-git-workspace.md
  • ai/ti/reference/commands/fs-git/ti-fs-git-hydrate-git-workspace.md
  • ai/ti/reference/commands/fs-git/ti-fs-git-remove-git-worktree.md
  • ai/ti/reference/commands/fs-journal/ti-fs-journal-append-journal-entries.md
  • ai/ti/reference/commands/fs-journal/ti-fs-journal-create-journal.md
  • ai/ti/reference/commands/fs-journal/ti-fs-journal-read-journal-entries.md
  • ai/ti/reference/commands/fs-journal/ti-fs-journal-search-journal-entries.md
  • ai/ti/reference/commands/fs-journal/ti-fs-journal-verify-journal.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-create-grant.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-create-secret.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-delete-grant.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-delete-secret.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-list-audit-events.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-list-secrets.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-mount-vault.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-read-secret.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-replace-secret.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-run-with-secret.md
  • ai/ti/reference/commands/fs-vault/ti-fs-vault-unmount-vault.md
  • ai/ti/reference/commands/fs/ti-fs-check-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-chmod-file.md
  • ai/ti/reference/commands/fs/ti-fs-commit-layer.md
  • ai/ti/reference/commands/fs/ti-fs-copy-file.md
  • ai/ti/reference/commands/fs/ti-fs-create-directory.md
  • ai/ti/reference/commands/fs/ti-fs-create-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-create-hardlink.md
  • ai/ti/reference/commands/fs/ti-fs-create-layer-checkpoint.md
  • ai/ti/reference/commands/fs/ti-fs-create-layer.md
  • ai/ti/reference/commands/fs/ti-fs-create-symlink.md
  • ai/ti/reference/commands/fs/ti-fs-delete-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-delete-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-delete-file.md
  • ai/ti/reference/commands/fs/ti-fs-delete-layer.md
  • ai/ti/reference/commands/fs/ti-fs-describe-file-system-embedding-configuration.md
  • ai/ti/reference/commands/fs/ti-fs-describe-file-system-extract-configuration.md
  • ai/ti/reference/commands/fs/ti-fs-describe-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-describe-file.md
  • ai/ti/reference/commands/fs/ti-fs-describe-layer.md
  • ai/ti/reference/commands/fs/ti-fs-diff-layer.md
  • ai/ti/reference/commands/fs/ti-fs-disable-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-drain-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-enable-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-find-files.md
  • ai/ti/reference/commands/fs/ti-fs-fork-layer.md
  • ai/ti/reference/commands/fs/ti-fs-generate-file-system-scoped-token.md
  • ai/ti/reference/commands/fs/ti-fs-generate-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-import-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-list-file-system-tokens.md
  • ai/ti/reference/commands/fs/ti-fs-list-file-systems.md
  • ai/ti/reference/commands/fs/ti-fs-list-files.md
  • ai/ti/reference/commands/fs/ti-fs-list-layer-chain.md
  • ai/ti/reference/commands/fs/ti-fs-list-layers.md
  • ai/ti/reference/commands/fs/ti-fs-mount-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-move-file.md
  • ai/ti/reference/commands/fs/ti-fs-pack-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-read-file.md
  • ai/ti/reference/commands/fs/ti-fs-refresh-file-system-token.md
  • ai/ti/reference/commands/fs/ti-fs-rollback-layer.md
  • ai/ti/reference/commands/fs/ti-fs-search-file-content.md
  • ai/ti/reference/commands/fs/ti-fs-unmount-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-unpack-file-system.md
  • ai/ti/reference/commands/fs/ti-fs-update-file-system-embedding-configuration.md
  • ai/ti/reference/commands/fs/ti-fs-update-file-system-extract-configuration.md
  • ai/ti/reference/commands/ti/ti-configure.md
  • ai/ti/reference/commands/ti/ti-update.md
  • ai/ti/reference/ti-agent-sandbox-example.md
  • ai/ti/reference/ti-ci-artifact-handoff-example.md
  • ai/ti/reference/ti-cli-reference.md
  • ai/ti/reference/ti-configuration-and-credentials.md
  • ai/ti/reference/ti-daily-workflow-example.md
  • ai/ti/reference/ti-filesystem-git.md
  • ai/ti/reference/ti-filesystem-journal.md
  • ai/ti/reference/ti-filesystem-vault.md
  • ai/ti/reference/ti-filesystem.md
  • ai/ti/reference/ti-git-workspace-for-agents-example.md
  • ai/ti/reference/ti-install-configure-update.md
  • ai/ti/reference/ti-journal-agent-workflow-example.md
  • ai/ti/reference/ti-migrate-from-tdc.md
  • ai/ti/reference/ti-parallel-agent-dataset-example.md
  • ai/ti/reference/ti-persistent-agent-state-example.md
  • ai/ti/reference/ti-query-sql-with-roles-example.md
  • ai/ti/reference/ti-regions-security-and-limitations.md
  • ai/ti/reference/ti-share-filesystem-across-machines-example.md
  • ai/ti/reference/ti-starter-database.md
  • ai/ti/reference/ti-troubleshooting.md
  • ai/ti/reference/ti-vault-agent-secrets-example.md
  • ai/ti/ti-overview.md
  • ai/ti/ti-quick-start.md
  • tidb-cloud/cli-reference.md
  • tidb-cloud/get-started-with-cli.md
💤 Files with no reviewable changes (1)
  • ai/examples/basic-with-pytidb.md

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Comment thread ai/_index.md Outdated
Comment thread ai/_index.md Outdated
Comment thread ai/guides/tables.md
---
title: Working with Tables
summary: Learn how to work with tables in TiDB.
aliases: ['/ai/basic-with-pytidb/']

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🔎 Supported by static analysis

🏁 Script executed:

set -eu
printf '%s\n' '--- diff ---'
git diff -- ai/guides/tables.md ai/examples/basic-with-pytidb.md
printf '%s\n' '--- current guide ---'
cat -n ai/guides/tables.md | sed -n '1,20p'
printf '%s\n' '--- historical file in HEAD ---'
if git cat-file -e HEAD:ai/examples/basic-with-pytidb.md 2>/dev/null; then
  git show HEAD:ai/examples/basic-with-pytidb.md | sed -n '1,35p'
else
  printf '%s\n' 'not present in HEAD'
fi
printf '%s\n' '--- repository URL/permalink configuration references ---'
rg -n --glob '*.yml' --glob '*.yaml' --glob '*.json' --glob '*.js' --glob '*.ts' --glob '*.md' 'permalink|pretty|base_url|url:' ai .github 2>/dev/null | head -120

Repository: pingcap/docs

Length of output: 1706


🏁 Script executed:

set -eu
commit="$(git log -1 --format='%H' --all -- ai/examples/basic-with-pytidb.md || true)"
printf 'last-touch=%s\n' "$commit"
if [ -n "$commit" ]; then
  printf '%s\n' '--- file at last-touch commit ---'
  git show "$commit:ai/examples/basic-with-pytidb.md" | sed -n '1,35p' || true
  printf '%s\n' '--- file at parent of last-touch commit ---'
  git show "$commit^:ai/examples/basic-with-pytidb.md" | sed -n '1,35p' || true
fi

Repository: pingcap/docs

Length of output: 1452


🏁 Script executed:

set -eu
printf '%s\n' '--- likely documentation configuration files ---'
git ls-files | rg '(^|/)(config|hugo|mkdocs|docusaurus|book|site)([^/]*)(/|$)|\.(toml|ini)$' | head -120
printf '%s\n' '--- URL and alias configuration ---'
rg -n --hidden --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' 'aliases:|permalinks|uglyURLs|prettyURLs|baseURL|url:' . | head -160
printf '%s\n' '--- alias declarations near related pages ---'
rg -n -B3 -A3 '^aliases:' ai | head -160

Repository: pingcap/docs

Length of output: 47219


🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions

Length of output: 3147


🏁 Script executed:

set -eu
printf '%s\n' '--- root files ---'
git ls-files | sed -n '1,120p'
printf '%s\n' '--- documentation generator references ---'
rg -n --hidden --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' 'Hugo|hugo|Docsy|docsy|mkdocs|Docusaurus|docusaurus|permalink|aliases' README* .github scripts resources 2>/dev/null | head -180

Repository: pingcap/docs

Length of output: 4757


🏁 Script executed:

set -eu
printf '%s\n' '--- AI section metadata ---'
cat -n ai/_index.md | sed -n '1,80p'
printf '%s\n' '--- AI navigation references ---'
rg -n -A2 -B2 'ai/(examples|guides)/|examples|guides' TOC-ai.md README.md _docHome.md ai/_index.md | head -180
printf '%s\n' '--- route-shaped links ---'
rg -n --glob '*.md' '/ai/(examples|guides)/' . | head -160

Repository: pingcap/docs

Length of output: 26138


Preserve the deleted example URL.

The deleted ai/examples/basic-with-pytidb.md page has no explicit permalink, so /ai/examples/basic-with-pytidb/ can miss the current alias. Add the deleted route.

Suggested change
Suggested change
aliases: ['/ai/basic-with-pytidb/']
aliases: ['/ai/basic-with-pytidb/', '/ai/examples/basic-with-pytidb/']

Source: Path instructions

Comment thread ai/guides/tables.md Outdated
Comment thread ai/ti/guides/configure-filesystem-ai-providers.md Outdated
Comment thread ai/ti/reference/ti-troubleshooting.md Outdated
Comment thread ai/ti/guides/ti-vault-agent-secrets-example.md
Comment thread ai/ti/ti-overview.md Outdated
Comment thread ai/ti/ti-overview.md Outdated
Comment thread tidb-cloud/cli-reference.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review continued from previous batch...

Comment thread ai/ti/reference/commands/fs/ti-fs-list-files.md Outdated
github-actions Bot pushed a commit to qiancai/pingcap-docsite-preview that referenced this pull request Sep 14, 2026
@ti-chi-bot

ti-chi-bot Bot commented Sep 15, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-09-15 04:34:20.427769399 +0000 UTC m=+93306.365426983: ☑️ agreed by qiancai.

@qiancai

qiancai commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

/approve

@ti-chi-bot

ti-chi-bot Bot commented Sep 15, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: qiancai

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot

ti-chi-bot Bot commented Sep 15, 2026

Copy link
Copy Markdown

@qiancai: You cannot manually add or delete the cherry pick approval state labels, only I and the tursted members have permission to do so. You can approve it in internal platform.

Details

In response to removing label named approved.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved area/develop This PR relates to the area of TiDB App development. lgtm needs-1-more-lgtm Indicates a PR needs 1 more LGTM. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. translation/no-need No need to translate this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants