Skip to content

feat: add post-develop verification before label transition - #75

Merged
monkut merged 7 commits into
mainfrom
enhancement/69-add-verify-step-post-develop
Apr 9, 2026
Merged

feat: add post-develop verification before label transition#75
monkut merged 7 commits into
mainfrom
enhancement/69-add-verify-step-post-develop

Conversation

@monkut

@monkut monkut commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add detection-based post-develop verification step that runs project test, lint, and type check commands before transitioning issue to action:review
  • Detect commands from pyproject.toml (poe tasks or direct tools), package.json (npm scripts), or Makefile targets
  • Skip verification gracefully when no commands are detected (don't block transition)

Verification

  • uv run poe test — passed (114 tests)
  • uv run poe check — passed (no issues)
  • uv run poe typecheck — passed (0 errors)

Test plan

  • Verification detects poe tasks from pyproject.toml
  • Verification detects direct tools (pytest/ruff/pyright) from pyproject.toml
  • Verification detects npm scripts from package.json
  • Verification detects Makefile targets
  • Empty project (no config) skips verification and allows transition
  • All checks passing allows transition to review
  • Any check failing blocks transition to review
  • Command not found handled gracefully
  • Command timeout handled gracefully
  • Existing develop transition tests updated and passing

Closes #69

Gate the transition to action:review on passing project verification
(tests, lint, type check). Detection-based approach tries common
project commands from pyproject.toml, package.json, or Makefile.
If no commands are detected, verification is skipped (don't block).

Closes #69
The --cwd flag is defined on the main parser, so it must appear
before the subcommand. All examples had it after, causing argparse
to reject the command.
Comment thread askcc/functions.py
Verification commands are now read from [tool.askcc.verify] in
pyproject.toml or [[verify]] in .askcc.toml, making the feature
language/framework agnostic. No auto-detection of specific tools.
@monkut

monkut commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

Addressed review feedback in 5bc05ed.

Replaced all hardcoded language/tool detection with user-configured verification commands.

Detection now reads from:

  1. [tool.askcc.verify] in pyproject.toml
  2. [[verify]] in .askcc.toml

Example config (any language/framework):

# pyproject.toml
[[tool.askcc.verify]]
name = "tests"
cmd = "uv run poe test"

[[tool.askcc.verify]]
name = "lint"
cmd = "uv run poe check"

Or for non-Python projects via .askcc.toml:

[[verify]]
name = "tests"
cmd = "npm test"

[[verify]]
name = "lint"
cmd = "npm run lint"

If no config is found, verification is skipped (no blocking). All hardcoded uv/pytest/ruff/npm/make detection removed.

@monkut
monkut merged commit 494083e into main Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add post-develop verification before label transition

2 participants