From cbf6fe3ea21f7fac32aed632a1a209a667a27442 Mon Sep 17 00:00:00 2001 From: Jon Saad-Falcon Date: Wed, 25 Mar 2026 03:35:53 +0000 Subject: [PATCH] feat: add take-bot workflow and update contribution docs Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/take-assign.yml | 29 +++++++++++++++++++++++++++++ CONTRIBUTING.md | 5 ++++- docs/development/roadmap.md | 8 ++++---- 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/take-assign.yml diff --git a/.github/workflows/take-assign.yml b/.github/workflows/take-assign.yml new file mode 100644 index 00000000..7fa6d0dc --- /dev/null +++ b/.github/workflows/take-assign.yml @@ -0,0 +1,29 @@ +name: Auto-assign on "take" + +on: + issue_comment: + types: [created] + +permissions: + issues: write + +jobs: + assign: + if: >- + !github.event.issue.pull_request + && contains(fromJSON('["take", "Take", "TAKE"]'), trim(github.event.comment.body)) + runs-on: ubuntu-latest + steps: + - name: Assign commenter + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + COMMENTER="${{ github.event.comment.user.login }}" + ISSUE="${{ github.event.issue.number }}" + CURRENT=$(gh issue view "$ISSUE" --repo "${{ github.repository }}" --json assignees --jq '.assignees[].login' 2>/dev/null) + if echo "$CURRENT" | grep -qx "$COMMENTER"; then + echo "$COMMENTER is already assigned to #$ISSUE" + else + gh issue edit "$ISSUE" --repo "${{ github.repository }}" --add-assignee "$COMMENTER" + echo "Assigned $COMMENTER to #$ISSUE" + fi diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1a953370..816caca1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -104,7 +104,10 @@ For detailed development setup, code conventions, and project structure, see the ## Claiming Issues -Want to work on an issue? Comment **"take"** on the issue to claim it. This lets others know you're working on it and prevents duplicate effort. +1. Browse the [Roadmap](https://open-jarvis.github.io/OpenJarvis/development/roadmap/) for an item that interests you +2. Check if a [GitHub issue](https://github.com/open-jarvis/OpenJarvis/issues) already exists for it — if not, [open one](https://github.com/open-jarvis/OpenJarvis/issues/new/choose) describing what you'd like to work on +3. Comment **"take"** on the issue to get auto-assigned +4. Fork, branch, and start working If you've claimed an issue but can't finish it, please leave a comment so someone else can pick it up. diff --git a/docs/development/roadmap.md b/docs/development/roadmap.md index cb5cbb23..6719d410 100644 --- a/docs/development/roadmap.md +++ b/docs/development/roadmap.md @@ -14,10 +14,10 @@ These are the areas where active development is happening and contributions are ## How to Get Involved -1. Browse the workstreams below for items that interest you -2. Look for **Ready** items and **good first issue** tags -3. Find the matching [GitHub issue](https://github.com/open-jarvis/OpenJarvis/issues) and comment **"take"** to claim it — if no issue exists yet, [open one](https://github.com/open-jarvis/OpenJarvis/issues/new/choose) describing what you'd like to work on -4. Read the [Contributing Guide](https://github.com/open-jarvis/OpenJarvis/blob/main/CONTRIBUTING.md) for the full development setup, PR process, and code conventions +1. Browse the workstreams below for an item that interests you +2. Check if a [GitHub issue](https://github.com/open-jarvis/OpenJarvis/issues) already exists for it — if not, [open one](https://github.com/open-jarvis/OpenJarvis/issues/new/choose) +3. Comment **"take"** on the issue to get auto-assigned +4. Read the [Contributing Guide](https://github.com/open-jarvis/OpenJarvis/blob/main/CONTRIBUTING.md) for development setup and PR process ---