Files
vibe-kanban/package.json
Jacek Tomaszewski 2b277d3ddf feat: implement automatic PR discovery and attachment for task attempts (#842)
* feat: implement automatic PR discovery and attachment for task attempts

- Add GitHub API methods to list PRs for a branch (open and all states)
- Create /pr/attach endpoint to discover and attach existing PRs
- Automatically mark tasks as done when attached PR is merged
- Update Merge model to support PR status on creation
- Handle both open and closed/merged PRs during attachment

This improves on #837 by using GitHub API to automatically discover PRs
rather than requiring manual input of PR details.

* fix: address PR review feedback

- Fix compilation issue by using find_latest_by_task_attempt_id
- Properly handle Merge enum (Direct vs Pr variants)
- Remove redundant list_prs_for_branch method
- Simplify PR discovery to use only list_all_prs_for_branch
- Only check for existing PR merges, not direct merges

* fix: resolve compilation issues

- Fix SQLx cache issue by restoring exact original create_pr method
- Fix API response type for GitHub token error
- Fix ProjectError variant name to ProjectNotFound
- Add update_status call after PR creation for non-open PRs

* fix: address PR review feedback

- Fix compilation issue by using find_latest_by_task_attempt_id
- Properly handle Merge enum (Direct vs Pr variants)
- Remove redundant list_prs_for_branch method
- Simplify PR discovery to use only list_all_prs_for_branch
- Only check for existing PR merges, not direct merges
- Update code to match current TaskAttempt struct (branch: String, target_branch: String)

* Clippy, fmt, cleanup

---------

Co-authored-by: Alex Netsch <alex@bloop.ai>
2025-10-01 17:31:50 +01:00

45 lines
1.8 KiB
JSON

{
"name": "vibe-kanban",
"version": "0.0.99",
"private": true,
"bin": {
"vibe-kanban": "npx-cli/bin/cli.js"
},
"files": [
"npx-cli/bin/cli.js",
"npx-cli/dist/**"
],
"scripts": {
"lint": "npm run frontend:lint && npm run backend:lint",
"format": "cargo fmt --all && cd frontend && npm run format",
"check": "npm run frontend:check && npm run backend:check",
"dev": "export FRONTEND_PORT=$(node scripts/setup-dev-environment.js frontend) && export BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) && concurrently \"npm run backend:dev:watch\" \"npm run frontend:dev\"",
"test:npm": "./test-npm-package.sh",
"frontend:lint": "cd frontend && npm run lint",
"frontend:dev": "cd frontend && npm run dev -- --port ${FRONTEND_PORT:-3000} --host",
"frontend:check": "cd frontend && npm run check",
"backend:lint": "cargo clippy --workspace --all-targets --all-features -- -D warnings",
"backend:dev": "BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) npm run backend:dev:watch",
"backend:check": "cargo check",
"backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server'",
"generate-types": "cargo run --bin generate_types",
"generate-types:check": "cargo run --bin generate_types -- --check",
"prepare-db": "node scripts/prepare-db.js",
"build:npx": "bash ./local-build.sh",
"prepack": "npm run build:npx"
},
"devDependencies": {
"@tailwindcss/container-queries": "^0.1.1",
"concurrently": "^8.2.2",
"vite": "^6.3.5"
},
"engines": {
"node": ">=18",
"pnpm": ">=8"
},
"dependencies": {
"lodash": "^4.17.21",
"@dnd-kit/utilities": "^3.2.2",
"@ebay/nice-modal-react": "^1.2.13"
}
}