con un clic
submit
// Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work.
// Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work.
Guide for implementing Backend.AI repository patterns (create, get, search, update, delete, purge, batch operations, Querier, BatchQuerier, Creator, Updater, Purger, SearchScope, with_tables)
Diagnose and fix Docker Compose halfstack issues — config mapping, service health, DB/Redis/etcd inspection, supergraph regeneration
Local development tools — service management (./dev) and v2 CLI testing (./bai)
Guide for implementing REST and GraphQL APIs (create, get, search, update, delete, purge, scope prefix patterns, admin_ prefix, SearchScope, BaseFilterAdapter, @api_function, Click CLI)
Guide for implementing Backend.AI client SDK and CLI (Session, BaseFunction, @api_function, Click commands, Pydantic models, FieldSpec, output handlers, APIConfig, testing)
Guide the Backend.AI release process - run release.sh, generate changelog via towncrier, consolidate RC entries for final releases with subsection grouping.
| name | submit |
| description | Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work. |
Automates the post-implementation submission pipeline: quality enforcement, commit, PR creation, changelog, and push.
BA-1234). Auto-detected from branch name if pattern BA-\d+ exists.breaking, feature, enhance, deprecation, fix, doc, deps, misc, test. If omitted, infer from the most significant change.main.Detect JIRA key
jira_keyBA-\d+)Review changes
git status to see all changed/untracked filesgit diff and git diff --staged to review contentgit log {base_branch}..HEAD to see existing commits on branchMANDATORY - never skip.
Run sequentially, stop on first failure:
pants fmt ::
pants fix ::
pants lint --changed-since=origin/{base_branch}
fmt or fix produce changes, stage them automaticallylint fails, fix the issues and re-runNote: Type checking (pants check) and tests (pants test) are enforced by CI only. Do NOT run them locally — they consume excessive resources when multiple workers run concurrently.
Stage changes
git add specific files (avoid -A to prevent accidental inclusion of secrets).env, credentials, or other sensitive filesGenerate commit message
type(BA-XXXX): descriptionfix, feat, refactor, test, doc, ci, chore, perfmanager, client, client-sdk as the scope.fix(BA-1234): resolve session cleanup race conditionCreate commit
Push branch
git push -u origin {branch_name}Generate PR content
type(BA-XXXX): descriptionfix(BA-1234): resolve session cleanup race condition## Summary
<1-3 bullet points describing what changed and why>
## Test plan
- [ ] <test items>
Resolves BA-XXXX
Create PR
gh pr create --title "..." --body "..."
Extract PR number from gh pr create output
Determine changelog type (if not provided)
featurefixenhancebreakingtestdocdepsValid types (from pyproject.toml):
| Type | Category |
|---|---|
breaking | Breaking Changes |
feature | Features |
enhance | Improvements |
deprecation | Deprecations |
fix | Fixes |
doc | Documentation Updates |
deps | External Dependency Updates |
misc | Miscellaneous |
test | Test Updates |
Generate changelog message (if not provided)
Create file
changes/{pr_number}.{changelog_type}.mdCommit and push
git add changes/{pr_number}.{changelog_type}.md
git commit -m "changelog: add news fragment for PR #{pr_number}"
git push
Report final status:
Submission Complete
PR: #{pr_number} - {title}
URL: https://github.com/lablup/backend.ai/pull/{pr_number}
JIRA: BA-XXXX
Branch: {branch_name}
Changelog: changes/{pr_number}.{changelog_type}.md
Quality checks: All passed
Commits: {count} commit(s)
Quality check failed at: {step}
Error:
{error_output}
Options:
1. Fix issues and re-run /submit
2. Address specific failures manually
No changes detected.
Working tree is clean. Nothing to submit.
PR creation failed: {error}
Possible causes:
- Branch not pushed (will auto-push)
- PR already exists for this branch
- Authentication issue with gh CLI
Check: gh auth status
No JIRA issue key found.
Options:
1. Provide JIRA key: /submit BA-1234
2. Create new issue: /jira-issue
3. Continue without JIRA key (not recommended)
User: /submit
Agent: [Detects BA-1234 from branch, runs quality checks, commits, creates PR, generates changelog]
User: /submit BA-5678
Agent: [Uses BA-5678, runs full workflow]
User: /submit BA-5678 --type=fix --message="Fix session cleanup race condition when agent disconnects"
Agent: [Uses provided parameters, runs full workflow]
User: /jira-issue → creates BA-9999
User: [implements feature]
User: /submit BA-9999
Agent: [Full submission with BA-9999 reference]
/jira-issue - Create JIRA issue before starting work/tdd-guide - TDD workflow (run before /submit)fmt, fix, lint) use --changed-since=origin/{base_branch} to cover all PR changes, not just the last commitpyproject.tomlgh pr create, so changelog is always a second commitfeature and fix)changes/README.md guidelines