Files
AstrBot/AGENTS.md
LIghtJUNction b4a32fbda8 fix: resolve documentation formatting issues
- Add 'config' to known zh/en doc structure differences
- Remove trailing whitespace from docs/zh/faq.md
- Remove trailing whitespace from docs/en/dev/plugin-platform-adapter.md
- Ensure all README files end with newline
2026-03-23 02:49:15 +08:00

2.2 KiB

Setup commands

Core

uv tool install -e . --force
astrbot init
astrbot run # start the bot 
astrbot run --backend-only # start the backend only

Exposed an API server on http://localhost:6185 by default.

Dashboard(WebUI)

cd dashboard
bun install # First time only.
bun dev

Runs on http://localhost:3000 by default.

Dev environment tips

  1. When modifying the WebUI, be sure to maintain componentization and clean code. Avoid duplicate code.

  2. Do not add any report files such as xxx_SUMMARY.md.

  3. After finishing, use ruff format . and ruff check . to format and check the code.

  4. When committing, ensure to use conventional commits messages, such as feat: add new agent for data analysis or fix: resolve bug in provider manager.

  5. Use English for all new comments.

  6. For path handling, use pathlib.Path instead of string paths, and use astrbot.core.utils.path_utils to get the AstrBot data and temp directory.

  7. Use Python 3.12+ type hinting syntax (e.g., list[str] over List[str], int | None over Optional[int]). Avoid using Any and cast() - use proper TypedDict, dataclass, or Protocol instead. When encountering dict access issues (e.g., msg.get("key") where ty infers wrong type), define a TypedDict with total=False to explicitly declare allowed keys.

    Good example:

    class MessageComponent(TypedDict, total=False):
        type: str
        text: str
        path: str
    

    Bad example (avoid):

    msg: Any = something
    msg = cast(dict, msg)
    
  8. When introducing new environment variables:

    • Use the ASTRBOT_ prefix for naming (e.g., ASTRBOT_ENABLE_FEATURE).
    • Add the variable and description to .env.example.
    • Update astrbot/cli/commands/cmd_run.py:
      • Add to the module docstring under "Environment Variables Used in Project".
      • Add to the keys_to_print list in the run function for debug output.
  9. To check all available CLI commands and their usage recursively, run astrbot help --all.

  10. uv sync --group dev && uv run pytest --cov=astrbot tests/

PR instructions

  1. Title format: use conventional commit messages
  2. Use English to write PR title and descriptions.