跳到正文
cccskills
免费在 GitHub 公开

inv-runner

Python Invoke task automation for DTX website. This skill should be used when running repo commands, backend tests via Docker, database migrations, updating invoke tasks, Docker operations, or workflow automation. Supports dev/test/prod environments with run, exec, up, down commands. References docs/development/invoke-tasks.md for complete command reference.

中文简介正在准备中。当前显示原文说明。

集成工具DockerRedis
查看安装方法

包含的文件(1)

  • SKILL.md3.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Invoke Runner Skill

Python Invoke task automation for the DTX website project.

Documentation References (Single Source of Truth)

For complete command reference, consult these mkdocs files:

DocumentContent
docs/development/invoke-tasks.mdComplete invoke command reference
docs/development/backend-quickstart.mdBackend development quickstart
docs/development/testing.mdTesting procedures including worktree verification

Running Invoke Commands

Method 1: PATH Prefix (Recommended for Claude)

When bash hooks block source commands, prepend the venv bin to PATH:

PATH=".venv/bin:$PATH" inv <command>

For worktrees, use the full path:

PATH="/path/to/worktree/.venv/bin:$PATH" /path/to/worktree/.venv/bin/inv <command>

Method 2: Poetry Run

poetry run inv <command>

Method 3: Activate venv

source .venv/bin/activate
inv <command>

Why PATH Matters

Invoke tasks call python manage.py or other Python commands. Without venv bin in PATH:

/bin/bash: line 1: python: command not found

PATH prefix ensures subprocess calls find the correct Python interpreter.

Key Patterns

Run vs Exec

run - One-off command in NEW container (with --rm):

inv test.run --cmd 'python manage.py test app.tests -v 2'

exec - Command in RUNNING container:

inv dev.exec backend 'python manage.py shell'

Environment-Specific Commands

All environments (dev, test, prod) support:

inv <env>.up       # Start
inv <env>.down     # Stop and remove
inv <env>.logs     # Follow logs
inv <env>.run --cmd '<cmd>'  # One-off command

Database Operations

inv db.migrate.all       # Migrations for all environments
inv db.migrate.test      # Test environment only
inv db.populate.all      # Reset and populate test DB

Adding a new Django app: inv db.migrate.* runs python manage.py makemigrations <apps> with an explicit app list defined at backend/tasks.py::apps (it does NOT auto-discover from INSTALLED_APPS). When you scaffold a new app, append it there too — otherwise makemigrations silently skips it. Reference impl: the user app entry in backend/tasks.py:27. Registering in settings.INSTALLED_APPS covers migrate but not makemigrations in this project.

Testing (Docker - Recommended)

Avoid Redis hanging issues by running tests in Docker:

inv test.run --cmd 'python manage.py test app.tests -v 2'

Cypress E2E

inv test.setup           # Full setup
inv test.spec --spec navigation  # Specific spec
inv test.headless        # All tests headless

Worktree Workflow

From worktree root:

cd /path/to/worktree
PATH=".venv/bin:$PATH" inv test.down
PATH=".venv/bin:$PATH" inv test.setup
PATH=".venv/bin:$PATH" inv db.migrate.test
PATH=".venv/bin:$PATH" inv db.populate.all
PATH=".venv/bin:$PATH" inv test.up

Common Issues

IssueSolution
python: command not foundUse PATH prefix method
Redis connection errorsUse Docker: inv test.run --cmd '...'
Tests hang on cleanupUse Docker: inv test.run --cmd '...'
Module not foundEnsure correct venv is activated

When Modifying Tasks

Update these files when changing invoke tasks:

  • docs/development/invoke-tasks.md (primary reference)
  • docs/development/backend-quickstart.md (if backend-related)

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

aesthetic

免费

Create aesthetically beautiful interfaces following proven design principles. Use when building UI/UX, analyzing designs from inspiration sites, generating design images with ai-multimodal, implementing visual hierarchy and color theory, adding micro-interactions, or creating design documentation. Includes workflows for capturing and analyzing inspiration screenshots with chrome-devtools and ai-multimodal, iterative design image generation until aesthetic standards are met, and comprehensive design system guidance covering BEAUTIFUL (aesthetic principles), RIGHT (functionality/accessibility), SATISFYING (micro-interactions), and PEAK (storytelling) stages. Integrates with chrome-devtools, ai-multimodal, media-processing, ui-styling, and web-frameworks skills.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

Proper usage of Bash and file operation tools. Use this skill when executing shell commands, writing files, or when tempted to use echo/cat/heredoc to pipe content to files. Prevents permission circumvention patterns like piping multiline content through echo instead of using Write tool. Covers Bash tool, Write tool, Edit tool, and Read tool best practices.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

brand

免费

DraftForge brand/theming review. Flags raw <button> over PrimaryButton/SecondaryButton, hardcoded violet/slate over brand tokens, inline styles, missing UserAvatar/EntityBreadcrumb.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

Django Redis caching with django-cacheops. This skill should be used when implementing caching, adding cache invalidation, optimizing API performance, modifying models that affect cached data, or debugging cache-related issues in the Django backend.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.

中文简介正在准备中。当前显示原文说明。

kettleofketchup/DraftForge152026年10月19日 更新

查看 kettleofketchup 的全部技能

报告此技能的问题