Skip to content

Commit 0efa36f

Browse files
Add website
1 parent 46bc0fb commit 0efa36f

45 files changed

Lines changed: 6500 additions & 100 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[ 280ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://localhost:8081/favicon.ico:0

SPEC.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
## Table of Contents
44

55
- [Overview](#overview)
6-
- [Task Discovery](#task-discovery)
6+
- [Command Discovery](#command-discovery)
77
- [Shell Scripts](#shell-scripts)
88
- [NPM Scripts](#npm-scripts)
99
- [Makefile Targets](#makefile-targets)
1010
- [Launch Configurations](#launch-configurations)
1111
- [VS Code Tasks](#vs-code-tasks)
1212
- [Python Scripts](#python-scripts)
13-
- [Task Execution](#task-execution)
13+
- [Command Execution](#command-execution)
1414
- [Run in New Terminal](#run-in-new-terminal)
1515
- [Run in Current Terminal](#run-in-current-terminal)
1616
- [Debug](#debug)
17-
- [Quick Tasks](#quick-tasks)
17+
- [Quick Launch](#quick-launch)
1818
- [Tagging](#tagging)
1919
- [Tag Configuration File](#tag-configuration-file)
2020
- [Pattern Syntax](#pattern-syntax)
@@ -23,7 +23,7 @@
2323
- [Text Filter](#text-filter)
2424
- [Tag Filter](#tag-filter)
2525
- [Clear Filter](#clear-filter)
26-
- [Parameterized Tasks](#parameterized-tasks)
26+
- [Parameterized Commands](#parameterized-commands)
2727
- [Settings](#settings)
2828
- [Exclude Patterns](#exclude-patterns)
2929
- [Sort Order](#sort-order)
@@ -41,67 +41,67 @@
4141
## Overview
4242
**overview**
4343

44-
CommandTree scans a VS Code workspace and surfaces all runnable tasks in a single tree view sidebar panel. It discovers shell scripts, npm scripts, Makefile targets, VS Code tasks, launch configurations, etc then presents them in a categorized, filterable tree.
44+
CommandTree scans a VS Code workspace and surfaces all runnable commands in a single tree view sidebar panel. It discovers shell scripts, npm scripts, Makefile targets, VS Code tasks, launch configurations, etc then presents them in a categorized, filterable tree.
4545

46-
## Task Discovery
47-
**task-discovery**
46+
## Command Discovery
47+
**command-discovery**
4848

49-
CommandTree recursively scans the workspace for runnable tasks grouped by type. Discovery respects exclude patterns configured in settings. It does this in the background on low priority.
49+
CommandTree recursively scans the workspace for runnable commands grouped by type. Discovery respects exclude patterns configured in settings. It does this in the background on low priority.
5050

5151
### Shell Scripts
52-
**task-discovery/shell-scripts**
52+
**command-discovery/shell-scripts**
5353

5454
Discovers `.sh` files throughout the workspace. Supports optional `@param` and `@description` comments for metadata.
5555

5656
### NPM Scripts
57-
**task-discovery/npm-scripts**
57+
**command-discovery/npm-scripts**
5858

5959
Reads `scripts` from all `package.json` files, including nested projects and subfolders.
6060

6161
### Makefile Targets
62-
**task-discovery/makefile-targets**
62+
**command-discovery/makefile-targets**
6363

6464
Parses `Makefile` and `makefile` for named targets.
6565

6666
### Launch Configurations
67-
**task-discovery/launch-configurations**
67+
**command-discovery/launch-configurations**
6868

6969
Reads debug configurations from `.vscode/launch.json`.
7070

7171
### VS Code Tasks
72-
**task-discovery/vscode-tasks**
72+
**command-discovery/vscode-tasks**
7373

7474
Reads task definitions from `.vscode/tasks.json`, including support for `${input:*}` variable prompts.
7575

7676
### Python Scripts
77-
**task-discovery/python-scripts**
77+
**command-discovery/python-scripts**
7878

7979
Discovers files with a `.py` extension.
8080

81-
## Task Execution
82-
**task-execution**
81+
## Command Execution
82+
**command-execution**
8383

84-
Tasks can be executed three ways via inline buttons or context menu.
84+
Commands can be executed three ways via inline buttons or context menu.
8585

8686
### Run in New Terminal
87-
**task-execution/new-terminal**
87+
**command-execution/new-terminal**
8888

89-
Opens a new VS Code terminal and runs the task command. Triggered by the play button or `commandtree.run` command.
89+
Opens a new VS Code terminal and runs the command. Triggered by the play button or `commandtree.run` command.
9090

9191
### Run in Current Terminal
92-
**task-execution/current-terminal**
92+
**command-execution/current-terminal**
9393

94-
Sends the task command to the currently active terminal. Triggered by the circle-play button or `commandtree.runInCurrentTerminal` command.
94+
Sends the command to the currently active terminal. Triggered by the circle-play button or `commandtree.runInCurrentTerminal` command.
9595

9696
### Debug
97-
**task-execution/debug**
97+
**command-execution/debug**
9898

99-
Launches the task using the VS Code debugger. Only applicable to launch configurations. Triggered by the bug button or `commandtree.debug` command.
99+
Launches the command using the VS Code debugger. Only applicable to launch configurations. Triggered by the bug button or `commandtree.debug` command.
100100

101-
## Quick Tasks
102-
**quick-tasks**
101+
## Quick Launch
102+
**quick-launch**
103103

104-
Users can star tasks to pin them in a "Quick Tasks" panel at the top of the tree view. Starred task identifiers are persisted in the `quick` array inside `.vscode/commandtree.json`:
104+
Users can star commands to pin them in a "Quick Launch" panel at the top of the tree view. Starred command identifiers are persisted in the `quick` array inside `.vscode/commandtree.json`:
105105

106106
```json
107107
{
@@ -115,7 +115,7 @@ Users can star tasks to pin them in a "Quick Tasks" panel at the top of the tree
115115
## Tagging
116116
**tagging**
117117

118-
Tags group related tasks for organization and filtering.
118+
Tags group related commands for organization and filtering.
119119

120120
### Tag Configuration File
121121
**tagging/config-file**
@@ -132,7 +132,7 @@ Tags are defined in `.vscode/commandtree.json` under the `tags` key:
132132
}
133133
```
134134

135-
This file can be committed to version control to share task organization with a team.
135+
This file can be committed to version control to share command organization with a team.
136136

137137
### Pattern Syntax
138138
**tagging/pattern-syntax**
@@ -141,19 +141,19 @@ This file can be committed to version control to share task organization with a
141141
|---------|---------|
142142
| `npm:build` | Exact match: npm script named "build" |
143143
| `npm:test*` | Wildcard: npm scripts starting with "test" |
144-
| `*deploy*` | Any task with "deploy" in the name |
144+
| `*deploy*` | Any command with "deploy" in the name |
145145
| `type:shell:*` | All shell scripts |
146146
| `type:npm:*` | All npm scripts |
147147
| `type:make:*` | All Makefile targets |
148148
| `type:launch:*` | All launch configurations |
149-
| `**/scripts/**` | Path matching: tasks in any `scripts` folder |
150-
| `shell:/full/path:name` | Exact task identifier (used internally for Quick Tasks) |
149+
| `**/scripts/**` | Path matching: commands in any `scripts` folder |
150+
| `shell:/full/path:name` | Exact command identifier (used internally for Quick Launch) |
151151

152152
### Managing Tags
153153
**tagging/management**
154154

155-
- **Add tag to task**: Right-click a task > "Add Tag" > select existing or create new
156-
- **Remove tag from task**: Right-click a task > "Remove Tag"
155+
- **Add tag to command**: Right-click a command > "Add Tag" > select existing or create new
156+
- **Remove tag from command**: Right-click a command > "Remove Tag"
157157
- **Edit tags file directly**: Command Palette > "CommandTree: Edit Tags Configuration"
158158

159159
## Filtering
@@ -162,20 +162,20 @@ This file can be committed to version control to share task organization with a
162162
### Text Filter
163163
**filtering/text**
164164

165-
Free-text filter via toolbar or `commandtree.filter` command. Matches against task names.
165+
Free-text filter via toolbar or `commandtree.filter` command. Matches against command names.
166166

167167
### Tag Filter
168168
**filtering/tag**
169169

170-
Pick a tag from the toolbar picker (`commandtree.filterByTag`) to show only tasks matching that tag's patterns.
170+
Pick a tag from the toolbar picker (`commandtree.filterByTag`) to show only commands matching that tag's patterns.
171171

172172
### Clear Filter
173173
**filtering/clear**
174174

175175
Remove all active filters via toolbar button or `commandtree.clearFilter` command.
176176

177-
## Parameterized Tasks
178-
**parameterized-tasks**
177+
## Parameterized Commands
178+
**parameterized-commands**
179179

180180
Shell scripts with parameter comments prompt the user for input before execution:
181181

@@ -197,35 +197,35 @@ All settings are configured via VS Code settings (`Cmd+,` / `Ctrl+,`).
197197
### Exclude Patterns
198198
**settings/exclude-patterns**
199199

200-
`commandtree.excludePatterns` - Glob patterns to exclude from task discovery. Default includes `**/node_modules/**`, `**/.vscode-test/**`, and others.
200+
`commandtree.excludePatterns` - Glob patterns to exclude from command discovery. Default includes `**/node_modules/**`, `**/.vscode-test/**`, and others.
201201

202202
### Sort Order
203203
**settings/sort-order**
204204

205-
`commandtree.sortOrder` - How tasks are sorted within categories:
205+
`commandtree.sortOrder` - How commands are sorted within categories:
206206

207207
| Value | Description |
208208
|-------|-------------|
209209
| `folder` | Sort by folder path, then alphabetically (default) |
210-
| `name` | Sort alphabetically by task name |
211-
| `type` | Sort by task type, then alphabetically |
210+
| `name` | Sort alphabetically by command name |
211+
| `type` | Sort by command type, then alphabetically |
212212

213213
### Show Empty Categories
214214
**settings/show-empty-categories**
215215

216-
`commandtree.showEmptyCategories` - Whether to display category nodes that contain no discovered tasks.
216+
`commandtree.showEmptyCategories` - Whether to display category nodes that contain no discovered commands.
217217

218218
## User Data Storage
219219
**user-data-storage**
220220

221-
CommandTree stores workspace-specific data in `.vscode/commandtree.json`. This file is automatically created and updated as you use the extension. It holds both quick task pins and tag definitions.
221+
CommandTree stores workspace-specific data in `.vscode/commandtree.json`. This file is automatically created and updated as you use the extension. It holds both Quick Launch pins and tag definitions.
222222

223223
---
224224

225225
## Semantic Search (FUTURE FEATURE)
226226
**semantic-search**
227227

228-
> **FUTURE FEATURE** — This section describes a planned feature that is **not currently being implemented**. It is included here for design reference only.
228+
> **FUTURE FEATURE** — This section describes a planned feature that is **not currently being implemented**. It is included here for design reference only.
229229
230230
### Overview
231231
**semantic-search/overview**
@@ -256,7 +256,7 @@ The summarisation interface is provider-agnostic — any model that accepts a te
256256
### Database and Config Migration
257257
**semantic-search/database-migration**
258258

259-
All workspace configuration currently stored in `.vscode/commandtree.json` (quick task pins, tag definitions) will migrate into a **local embedded database** (e.g. SQLite). This database also stores script summaries and vector embeddings.
259+
All workspace configuration currently stored in `.vscode/commandtree.json` (Quick Launch pins, tag definitions) will migrate into a **local embedded database** (e.g. SQLite). This database also stores script summaries and vector embeddings.
260260

261261
The migration is automatic and transparent. The `.vscode/commandtree.json` file is read once during migration, and the database becomes the single source of truth going forward.
262262

@@ -265,18 +265,18 @@ The migration is automatic and transparent. The `.vscode/commandtree.json` file
265265

266266
```mermaid
267267
erDiagram
268-
TaskRecord {
268+
CommandRecord {
269269
string scriptPath PK "Absolute path to the script"
270270
string contentHash "Hash of script content (for change detection)"
271271
string scriptContent "Full script source text"
272272
string summary "LLM-generated plain-language summary"
273273
float[] embedding "Vector embedding of script + summary"
274274
string[] tags "User-assigned tags"
275-
boolean isQuick "Pinned to Quick Tasks"
275+
boolean isQuick "Pinned to Quick Launch"
276276
datetime lastUpdated "Last summarisation timestamp"
277277
}
278278
279-
TaskRecord ||--o{ Tag : "has"
279+
CommandRecord ||--o{ Tag : "has"
280280
Tag {
281281
string name PK "Tag name"
282282
string[] patterns "Glob patterns for auto-tagging"
@@ -294,7 +294,7 @@ The existing filter bar (`commandtree.filter`) gains a semantic search mode:
294294

295295
1. User types a natural-language query (e.g. *"deploy to staging"*, *"run database migrations"*, *"lint and format code"*).
296296
2. The query is embedded using the same model that produced the stored embeddings.
297-
3. Results are ranked by **cosine similarity** between the query embedding and each task's stored embedding.
298-
4. The tree view updates to show matching tasks, ordered by relevance.
297+
3. Results are ranked by **cosine similarity** between the query embedding and each command's stored embedding.
298+
4. The tree view updates to show matching commands, ordered by relevance.
299299

300300
If no summaries have been generated (feature not enabled), the filter falls back to the existing text-match behaviour.

homepage-dark.png

124 KB
Loading

homepage-full.png

2.79 MB
Loading

src/test/e2e/discovery.e2e.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* DISCOVERY E2E TESTS
3-
* Spec: task-discovery
3+
* Spec: command-discovery
44
*
55
* These tests verify that task source files exist with correct structure.
66
* They do NOT call internal provider methods.
@@ -23,7 +23,7 @@ suite("Task Discovery E2E Tests", () => {
2323
await sleep(3000);
2424
});
2525

26-
// Spec: task-discovery/shell-scripts
26+
// Spec: command-discovery/shell-scripts
2727
suite("Shell Script Discovery", () => {
2828
test("discovers shell scripts in workspace", function () {
2929
this.timeout(10000);
@@ -73,7 +73,7 @@ suite("Task Discovery E2E Tests", () => {
7373
});
7474
});
7575

76-
// Spec: task-discovery/npm-scripts
76+
// Spec: command-discovery/npm-scripts
7777
suite("NPM Script Discovery", () => {
7878
test("discovers npm scripts from root package.json", function () {
7979
this.timeout(10000);
@@ -129,7 +129,7 @@ suite("Task Discovery E2E Tests", () => {
129129
});
130130
});
131131

132-
// Spec: task-discovery/makefile-targets
132+
// Spec: command-discovery/makefile-targets
133133
suite("Makefile Target Discovery", () => {
134134
test("discovers Makefile targets", function () {
135135
this.timeout(10000);
@@ -157,7 +157,7 @@ suite("Task Discovery E2E Tests", () => {
157157
});
158158
});
159159

160-
// Spec: task-discovery/launch-configurations
160+
// Spec: command-discovery/launch-configurations
161161
suite("VS Code Launch Configuration Discovery", () => {
162162
test("discovers launch configurations from launch.json", function () {
163163
this.timeout(10000);
@@ -194,7 +194,7 @@ suite("Task Discovery E2E Tests", () => {
194194
});
195195
});
196196

197-
// Spec: task-discovery/vscode-tasks
197+
// Spec: command-discovery/vscode-tasks
198198
suite("VS Code Tasks Discovery", () => {
199199
test("discovers tasks from tasks.json", function () {
200200
this.timeout(10000);
@@ -250,7 +250,7 @@ suite("Task Discovery E2E Tests", () => {
250250
});
251251
});
252252

253-
// Spec: task-discovery/python-scripts
253+
// Spec: command-discovery/python-scripts
254254
suite("Python Script Discovery", () => {
255255
test("discovers Python scripts with shebang", function () {
256256
this.timeout(10000);

0 commit comments

Comments
 (0)