Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .claude/skills/submit-pr/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
name: submit-pr
description: Create and submit a GitHub pull request using the diff against main
disable-model-invocation: true
allowed-tools: Bash(git *), Bash(gh *)
---

# Submit Pull Request

Create a GitHub pull request for the current branch.

## Steps

1. Get the diff against the latest LOCAL main branch commit:

```
git diff main...HEAD
```

2. Read the diff output carefully. Do NOT look at commit messages. The diff is the only source of truth for what changed.

3. Check if there's a related GitHub issue. Look for issue references in the branch name (e.g. `42-fix-bug` or `issue-42`). If found, fetch the issue title:

```
gh issue view <number> --json title -q .title
```

4. Write the PR content using the project's PR template

You read the file at .github/PULL_REQUEST_TEMPLATE.md

Keep content TIGHT. Don't add waffle.

5. Construct the PR title:
- If an issue number was found: `#<number>: <short description>`
- Otherwise: `<short description>`
- Keep under 70 characters

6. Commit changes and push the current branch if needed:

```
git push -u origin HEAD
```

DO NOT include yourself as a a coauthor!

7. Create the PR using `gh`:

```
gh pr create --title "<title>" --body "$(cat <<'EOF'
# TLDR;
<tldr content>

# Details
<details content>

# How do the tests prove the change works
<test description>
EOF
)"
```

8. Return the PR URL to the user.
8 changes: 8 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# TLDR;


# Details


# How do the tests prove the change works

36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Release

on:
push:
tags:
- "v*"

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- run: npm ci

- name: Build VSIX
run: npx vsce package

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: commandtree-vsix
path: "*.vsix"

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: "*.vsix"
generate_release_notes: true
1 change: 1 addition & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ SPEC.md
**/*.ts
**/*.bak
*.vsix
website/**
1 change: 1 addition & 0 deletions Claude.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ You are working with many other agents. Make sure there is effective cooperation

#### Rules
- **Prefer e2e tests over unit tests** - only unit tests for isolating bugs
- DO NOT USE GIT
- Separate e2e tests from unit tests by file. They should not be in the same file together.
- Prefer adding assertions to existing tests rather than adding new tests
- Test files in `src/test/suite/*.test.ts`
Expand Down
Loading