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
2 changes: 1 addition & 1 deletion .github/workflows/build-oc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
- 'opencode-plugin/**'

jobs:
build:
build-oc:
name: Build
runs-on: ubuntu-latest
defaults:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/build-vs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build VSCode Extension

on:
pull_request:
branches:
- main
paths:
- 'vscode-extension/**'

jobs:
build-vs:
name: Build VSCode extension
runs-on: ubuntu-latest
defaults:
run:
working-directory: vscode-extension
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: vscode-extension/package-lock.json

- run: npm ci
- run: npx vsce package --out out/vscode-extension.vsix

25 changes: 14 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ jobs:
--generate-notes \
--latest

# Builds and appends the VS Code Extension asset
package-vscode:
name: Build & Upload VS Code Extension
# Builds and publishes VSCode extension to latest release and marketplace
publish-vs:
name: Build & Publish VS Code Extension
needs: create-release
runs-on: ubuntu-latest
defaults:
Expand All @@ -89,20 +89,23 @@ jobs:
cache: npm
cache-dependency-path: vscode-extension/package-lock.json

- run: npm ci
- run: cp ../init.py . && cp -r ../tracking .
- run: npm run compile
- run: npx vsce package --out vscode-extension.vsix
- name: Install Dependencies
run: npm ci

- name: Package Extension
run: npx vsce package --out out/vscode-extension.vsix

# Use softprops to cleanly append the asset to the existing tag
- name: Upload VSIX to Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.create-release.outputs.tag }}
files: vscode-extension/vscode-extension.vsix
files: vscode-extension/out/vscode-extension.vsix

- name: Publish to Marketplace
run: npx @vscode/vsce publish --packagePath out/vscode-extension.vsix --pat ${{ secrets.AZURE_PAT }}

# Builds and appends the OpenCode Plugin asset
package-opencode:
# Builds and uploads OC plugin to latest release
publish-oc:
name: Build & Upload OpenCode Plugin
needs: create-release
runs-on: ubuntu-latest
Expand Down
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
.eslintcache
.cache
*.tsbuildinfo
__pycache__

# IntelliJ based IDEs
.idea
Expand All @@ -39,6 +40,3 @@ test/mock-repository
# Repomix outputs
repomix*.xml

# Build artifacts
vscode-extension/init.py
vscode-extension/tracking
40 changes: 12 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Tracybot

[![GitHub Release](https://img.shields.io/github/v/release/TracyTeam/tracybot)](https://github.com/TracyTeam/tracybot/releases/latest) [![License](https://img.shields.io/github/license/TracyTeam/tracybot)](LICENSE) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/TracyTeam/tracybot/release.yml)](https://github.com/TracyTeam/tracybot/actions)
[![GitHub Release](https://img.shields.io/github/v/release/TracyTeam/tracybot?style=flat-square)](https://github.com/TracyTeam/tracybot/releases/latest)
[![License](https://img.shields.io/github/license/TracyTeam/tracybot?style=flat-square)](LICENSE)
[![VSC Extension Build](https://img.shields.io/github/actions/workflow/status/TracyTeam/tracybot/build-vs.yml?style=flat-square&logo=github)](https://github.com/TracyTeam/tracybot/actions)
[![OC Plugin Build](https://img.shields.io/github/actions/workflow/status/TracyTeam/tracybot/build-oc.yml?style=flat-square&logo=github)](https://github.com/TracyTeam/tracybot/actions)
[![VS Code Marketplace Version](https://vsmarketplacebadges.dev/version-short/TracyTeam.Tracybot.svg?style=flat-square&logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=TracyTeam.tracybot-extension)

![Representative](./public/representative.png)

Expand Down Expand Up @@ -28,27 +32,20 @@ More information, including the requirements that resulted in these architectura

### 1. Install the VS Code Extension

This is the recommended entry point. The extension can open AI Blame, prompt to initialize Tracybot in the current repository, and offer to install the OpenCode plugin.
This is the entry point to Tracybot. The extension can open AI Blame, prompt to initialize Tracybot in the current repository, and offer to install the OpenCode plugin.

#### Linux and macOS
You can install the extension directly within VS Code:
1. Open VS Code and go to the **Extensions** view (`Ctrl+Shift+X` or `Cmd+Shift+X`).
2. Search for `Tracybot`.
3. Click **Install**.

```bash
curl -fsSL https://raw.githubusercontent.com/TracyTeam/tracybot/main/vscode-extension/install.sh | bash
```

#### Windows

```powershell
irm https://raw.githubusercontent.com/TracyTeam/tracybot/main/vscode-extension/install.ps1 | iex
```

The install scripts use the `code` CLI, so make sure the VS Code command line tools are available first.
Alternatively, visit the [Tracybot VS Code Marketplace page](https://marketplace.visualstudio.com/items?itemName=TracyTeam.tracybot-extension) and follow the instructions on the marketplace page.

### 2. Open Your Repository in VS Code

When the extension activates, it adds an `AI Blame` status bar item on the right side of VS Code.

If Tracybot has not been initialized in that repository yet, the extension offers to run initialization for you.
If Tracybot has not been initialized in the open repository yet, the extension offers to run initialization for you.

If you prefer to initialize from the terminal instead, run:

Expand All @@ -69,19 +66,6 @@ You can install it either:
- Globally at `~/.config/opencode/plugin/tracybot-oc.js`
- Per project at `.opencode/plugin/tracybot-oc.js`

If you want to install the released plugin directly from the terminal instead of using the VS Code prompt:

#### Linux and macOS

```bash
curl -fsSL https://raw.githubusercontent.com/TracyTeam/tracybot/main/opencode-plugin/install.sh | bash
```

#### Windows

```powershell
irm https://raw.githubusercontent.com/TracyTeam/tracybot/main/opencode-plugin/install.ps1 | iex
```

### 4. Start Using AI Blame

Expand Down
6 changes: 2 additions & 4 deletions vscode-extension/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@ tsconfig.lsif.json
*.tsbuildinfo

# Copied during packaging (from project root). Don't commit.
/init.py
/tracking/
/LICENSE
assets/

# Don't check in API files. These should be pulled in during install
vscode*.d.ts
vscode*.d.ts
11 changes: 11 additions & 0 deletions vscode-extension/.vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,14 @@ vsc-extension-quickstart.md
**/*.map
**/*.ts
**/.vscode-test.*

# Ignore Python cache files brought in by the tracking folder
**/__pycache__/**
**/*.pyc
**/*.pyo

# Ignore local packaging output
out/*.vsix

install.sh
install.ps1
Loading
Loading