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: 2 additions & 0 deletions Claude.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ https://developers.google.com/search/docs/fundamentals/seo-starter-guide
https://studiohawk.com.au/blog/how-to-optimise-ai-overviews/
https://about.ads.microsoft.com/en/blog/post/october-2025/optimizing-your-content-for-inclusion-in-ai-search-answers

https://documentation.platformos.com/use-cases/implementing-social-media-preview-cards

## Project Structure

```
Expand Down
124 changes: 0 additions & 124 deletions CoveragePlan.md

This file was deleted.

7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<img src="website/src/assets/images/CommandTree.gif" alt="CommandTree in action" width="780">
</p>

CommandTree scans your project and surfaces all runnable commands across 19 tool types in a single tree view. Filter by text or tag, search by meaning with AI-powered semantic search, and run in terminal or debugger.
CommandTree scans your project and surfaces all runnable commands across 21 tool types in a single tree view. Filter by text or tag, and run in terminal or debugger.

## AI Summaries (powered by GitHub Copilot)

Expand All @@ -19,8 +19,7 @@ Summaries are stored locally and only regenerate when the underlying script chan
## Features

- **AI Summaries** - GitHub Copilot describes each command in plain language, with security warnings for dangerous operations
- **AI-Powered Search** - Find commands by meaning, not just name — local embeddings, no data leaves your machine
- **Auto-discovery** - 19 command types including shell scripts, npm, Make, Python, PowerShell, Gradle, Cargo, Maven, Docker Compose, .NET, and more
- **Auto-discovery** - 21 command types including shell scripts, npm, Make, Python, PowerShell, Gradle, Cargo, Maven, Docker Compose, .NET, C# Script, F# Script, and more
- **Quick Launch** - Pin frequently-used commands to a dedicated panel at the top
- **Tagging** - Right-click any command to add or remove tags
- **Filtering** - Filter the tree by text search or by tag
Expand Down Expand Up @@ -51,6 +50,8 @@ Summaries are stored locally and only regenerate when the underlying script chan
| Composer Scripts | `composer.json` (PHP) |
| Docker Compose | `docker-compose.yml` |
| .NET Projects | `.csproj`, `.fsproj` |
| C# Scripts | `.csx` files |
| F# Scripts | `.fsx` files |
| Markdown Files | `.md` files |

## Getting Started
Expand Down
46 changes: 44 additions & 2 deletions website/eleventy.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@ export default function(eleventyConfig) {

eleventyConfig.addPassthroughCopy("src/assets");
eleventyConfig.addPassthroughCopy({ "src/favicon.ico": "favicon.ico" });
eleventyConfig.addPassthroughCopy({ "src/site.webmanifest": "site.webmanifest" });

const faviconLinks = [
' <link rel="icon" href="/favicon.ico" sizes="48x48">',
' <link rel="icon" href="/assets/images/favicon.svg" type="image/svg+xml">',
' <link rel="apple-touch-icon" href="/assets/images/apple-touch-icon.png">',
' <link rel="manifest" href="/site.webmanifest">',
].join("\n");

const isIconLink = (line) => {
Expand Down Expand Up @@ -144,13 +146,21 @@ export default function(eleventyConfig) {
if (!this.page.outputPath?.endsWith(".html")) {
return content;
}
const ogImageAltTag = ' <meta property="og:image:alt" content="CommandTree - One sidebar, every command in VS Code. Auto-discover 19 command types with AI-powered summaries.">';
const altText = "CommandTree - One sidebar, every command in VS Code. Auto-discover 21 command types with AI-powered summaries.";
const ogImageAltTag = ` <meta property="og:image:alt" content="${altText}">`;
const twitterImageAltTag = ` <meta name="twitter:image:alt" content="${altText}">`;
const ogImageHeightTag = 'og:image:height';
const insertionPoint = content.indexOf(ogImageHeightTag);
if (insertionPoint < 0) { return content; }
const lineEnd = content.indexOf("\n", insertionPoint);
if (lineEnd < 0) { return content; }
return content.slice(0, lineEnd + 1) + ogImageAltTag + "\n" + content.slice(lineEnd + 1);
const withOgAlt = content.slice(0, lineEnd + 1) + ogImageAltTag + "\n" + content.slice(lineEnd + 1);
const twitterImageTag = 'twitter:image" content=';
const twitterInsert = withOgAlt.indexOf(twitterImageTag);
if (twitterInsert < 0) { return withOgAlt; }
const twitterLineEnd = withOgAlt.indexOf("\n", twitterInsert);
if (twitterLineEnd < 0) { return withOgAlt; }
return withOgAlt.slice(0, twitterLineEnd + 1) + twitterImageAltTag + "\n" + withOgAlt.slice(twitterLineEnd + 1);
});

eleventyConfig.addTransform("articleMeta", function(content) {
Expand Down Expand Up @@ -237,6 +247,38 @@ export default function(eleventyConfig) {
return content.replace("</head>", scriptTag + "\n</head>");
});

eleventyConfig.addTransform("softwareAppSchema", function(content) {
if (!this.page.outputPath?.endsWith(".html")) {
return content;
}
if (this.page.url !== "/") {
return content;
}
const softwareSchema = {
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "CommandTree",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Windows, macOS, Linux",
"description": "VS Code extension that auto-discovers 21 command types — shell scripts, npm, Make, Gradle, Cargo, Docker Compose, .NET, and more — in one sidebar with AI-powered summaries.",
"url": "https://commandtree.dev",
"downloadUrl": "https://marketplace.visualstudio.com/items?itemName=nimblesite.commandtree",
"softwareRequirements": "Visual Studio Code",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
},
"author": {
"@type": "Organization",
"name": "Nimblesite Pty Ltd",
"url": "https://www.nimblesite.co",
},
};
const scriptTag = `\n <script type="application/ld+json">\n ${JSON.stringify(softwareSchema, null, 2).split("\n").join("\n ")}\n </script>`;
return content.replace("</head>", scriptTag + "\n</head>");
});

return {
dir: { input: "src", output: "_site" },
markdownTemplateEngine: "njk",
Expand Down
2 changes: 1 addition & 1 deletion website/src/_data/site.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"keywords": "VS Code extension, command runner, task runner, script discovery, npm scripts, shell scripts, makefile, workspace automation, developer tools",
"themeColor": "#2a8c7a",
"ogImage": "/assets/images/og-image.png",
"ogImageAlt": "CommandTree - One sidebar, every command in VS Code. Auto-discover 19 command types with AI-powered summaries.",
"ogImageAlt": "CommandTree - One sidebar, every command in VS Code. Auto-discover 21 command types with AI-powered summaries.",
"ogImageWidth": "1200",
"ogImageHeight": "630",
"organization": {
Expand Down
3 changes: 2 additions & 1 deletion website/src/blog/introducing-commandtree.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ Install CommandTree and a new panel appears in your VS Code sidebar. Every runna
- Gradle, Cargo, Maven, Ant, and Just
- Taskfile, Deno, Rake, and Composer
- Docker Compose services and .NET projects
- C# scripts and F# scripts
- Markdown files

That is 19 command types discovered automatically. Click the play button. Done.
That is 21 command types discovered automatically. Click the play button. Done.

## AI-Powered Summaries

Expand Down
14 changes: 11 additions & 3 deletions website/src/docs/discovery.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
layout: layouts/docs.njk
title: Auto-Discovery of 18+ Command Types - CommandTree Docs
description: How CommandTree auto-discovers shell scripts, npm, Make, Gradle, Cargo, Maven, Docker Compose, .NET, and 18+ command types in your VS Code workspace.
title: Auto-Discovery of 21 Command Types - CommandTree Docs
description: How CommandTree auto-discovers shell scripts, npm, Make, Gradle, Cargo, Maven, Docker Compose, .NET, C# Script, F# Script, and 21 command types in your VS Code workspace.
eleventyNavigation:
key: Command Discovery
order: 2
---

# Command Discovery

CommandTree auto-discovers 18+ command types — including shell scripts, npm scripts, Makefiles, Gradle, Cargo, Maven, Docker Compose, and .NET projects — by recursively scanning your workspace. Discovery respects [exclude patterns](/docs/configuration/) and runs in the background.
CommandTree auto-discovers 21 command types — including shell scripts, npm scripts, Makefiles, Gradle, Cargo, Maven, Docker Compose, .NET projects, C# scripts, and F# scripts — by recursively scanning your workspace. Discovery respects [exclude patterns](/docs/configuration/) and runs in the background.

## Shell Scripts

Expand Down Expand Up @@ -90,6 +90,14 @@ Discovers services from `docker-compose.yml` / `docker-compose.yaml` files.

Discovers `.csproj` and `.fsproj` project files for build/run/test commands.

## C# Scripts

Discovers `.csx` files and runs them via `dotnet script`.

## F# Scripts

Discovers `.fsx` files and runs them via `dotnet fsi`.

## Markdown Files

Discovers `.md` files in the workspace.
Expand Down
8 changes: 5 additions & 3 deletions website/src/docs/index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
layout: layouts/docs.njk
title: Getting Started with CommandTree - VS Code Command Runner
description: Install CommandTree for VS Code and discover shell scripts, npm scripts, Makefiles, and 18+ command types automatically in one sidebar.
description: Install CommandTree for VS Code and discover shell scripts, npm scripts, Makefiles, and 21 command types automatically in one sidebar.
eleventyNavigation:
key: Getting Started
order: 1
---

# Getting Started

CommandTree is a free VS Code extension that scans your workspace and surfaces all runnable commands — shell scripts, npm scripts, Makefiles, and 18 other types — in a single tree view sidebar panel.
CommandTree is a free VS Code extension that scans your workspace and surfaces all runnable commands — shell scripts, npm scripts, Makefiles, and 18 more types — in a single tree view sidebar panel.

## Installation

Expand Down Expand Up @@ -58,6 +58,8 @@ code --install-extension commandtree-*.vsix
| Composer Scripts | `composer.json` |
| Docker Compose | `docker-compose.yml` |
| .NET Projects | `.csproj` / `.fsproj` |
| C# Scripts | `.csx` files |
| F# Scripts | `.fsx` files |
| Markdown Files | `.md` files |

Discovery respects [exclude patterns](/docs/configuration/) in settings and runs in the background. If [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) is installed, each discovered command is automatically described in plain language — hover over any command to see what it does. Learn more about [how discovery works](/docs/discovery/) and [AI summaries](/docs/ai-summaries/).
Expand All @@ -66,7 +68,7 @@ Discovery respects [exclude patterns](/docs/configuration/) in settings and runs

### What command types does CommandTree discover?

CommandTree discovers 19 command types: shell scripts, npm scripts, Makefile targets, VS Code tasks, launch configurations, Python scripts, PowerShell scripts, Gradle tasks, Cargo tasks, Maven goals, Ant targets, Just recipes, Taskfile tasks, Deno tasks, Rake tasks, Composer scripts, Docker Compose services, .NET projects, and Markdown files.
CommandTree discovers 21 command types: shell scripts, npm scripts, Makefile targets, VS Code tasks, launch configurations, Python scripts, PowerShell scripts, Gradle tasks, Cargo tasks, Maven goals, Ant targets, Just recipes, Taskfile tasks, Deno tasks, Rake tasks, Composer scripts, Docker Compose services, .NET projects, C# scripts, F# scripts, and Markdown files.

### Does CommandTree require GitHub Copilot?

Expand Down
Binary file modified website/src/favicon.ico
Binary file not shown.
18 changes: 16 additions & 2 deletions website/src/index.njk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: layouts/base.njk
title: CommandTree - One Sidebar, Every Command in VS Code
description: CommandTree discovers all runnable commands in your VS Code workspace — shell scripts, npm, Make, Gradle, Docker Compose, and 18+ types — in one sidebar with AI summaries.
description: CommandTree discovers all runnable commands in your VS Code workspace — shell scripts, npm, Make, Gradle, Docker Compose, .NET, C# Script, F# Script, and 21 types — in one sidebar with AI summaries.
---

<section class="hero">
Expand Down Expand Up @@ -55,7 +55,7 @@ description: CommandTree discovers all runnable commands in your VS Code workspa
<div class="feature-card">
<span class="feature-icon">&#x1F50D;</span>
<h3>Auto-Discovery</h3>
<p>Recursively scans your workspace for shell scripts, npm scripts, Makefile targets, VS Code commands, launch configs, and Python scripts.</p>
<p>Recursively scans your workspace for 21 command types including shell scripts, npm, Make, Gradle, Cargo, Docker Compose, .NET, C# Script, F# Script, and more.</p>
</div>
<div class="feature-card">
<span class="feature-icon">&#x2B50;</span>
Expand Down Expand Up @@ -218,6 +218,20 @@ description: CommandTree discovers all runnable commands in your VS Code workspa
<p>.csproj / .fsproj</p>
</div>
</div>
<div class="command-type">
<span class="command-type-icon">&#x1F7E3;</span>
<div class="command-type-info">
<h4>C# Scripts</h4>
<p>.csx files</p>
</div>
</div>
<div class="command-type">
<span class="command-type-icon">&#x1F535;</span>
<div class="command-type-info">
<h4>F# Scripts</h4>
<p>.fsx files</p>
</div>
</div>
<div class="command-type">
<span class="command-type-icon">&#x1F4DD;</span>
<div class="command-type-info">
Expand Down
21 changes: 21 additions & 0 deletions website/src/site.webmanifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "CommandTree",
"short_name": "CommandTree",
"description": "One sidebar for every command in your VS Code workspace. AI-powered.",
"start_url": "/",
"display": "browser",
"background_color": "#ffffff",
"theme_color": "#2a8c7a",
"icons": [
{
"src": "/assets/images/favicon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/images/favicon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
Loading
Loading