# What Are the Dependencies for the i-have-adhd VS Code Plugin?

> Discover the i-have-adhd VS Code plugin dependencies. Learn how this plugin uses only the built-in VS Code API for efficient performance.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: api-reference
- Published: 2026-08-24

---

**The i-have-adhd VS Code plugin ships with zero external npm dependencies, relying exclusively on the built-in VS Code API provided by the editor at runtime.**

The ayghri/i-have-adhd repository contains a lightweight VS Code extension designed to minimize overhead. Understanding the dependencies for the i-have-adhd VS Code plugin reveals an intentional architecture that eliminates third-party packages entirely. This design choice simplifies deployment, reduces security attack surfaces, and ensures compatibility across VS Code versions.

## Root Package Manifest Analysis

At the repository root, the [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) file declares the extension's metadata and dependency structure. Unlike typical npm projects that populate the `"dependencies"` object with external libraries, the i-have-adhd VS Code plugin maintains an empty dependencies list.

According to the source code analysis, the root [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) contains no production dependencies. This means the extension does not bundle libraries like `lodash`, `zod`, or other common VS Code extension utilities. The manifest focuses solely on extension metadata—such as the activation events and command contributions—while omitting external package requirements.

## Extension Source Architecture

The functional logic resides in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts), which implements the Extension API contract without importing any third-party modules. The source file imports only the standard VS Code namespace:

```typescript
// extensions/i-have-adhd.ts
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
  const disposable = vscode.commands.registerCommand('i-have-adhd.nextAction', () => {
    vscode.window.showInformationMessage('What’s the next step?');
  });

  context.subscriptions.push(disposable);
}

export function deactivate() {}

```

In the code above, the `activate` function receives a `vscode.ExtensionContext` provided automatically by the editor. The `registerCommand` method and `window.showInformationMessage` API are native to VS Code's extension host. No `node_modules` packages are required to execute these operations.

## Distinguishing VS Code Plugin Dependencies from OpenCode Runtime

The repository includes a [`.opencode/package.json`](https://github.com/ayghri/i-have-adhd/blob/main/.opencode/package.json) file, but this manifest serves the OpenCode runtime environment rather than the VS Code extension. When examining the dependencies for the i-have-adhd VS Code plugin specifically, the `.opencode` directory is irrelevant to the extension's operation.

The VS Code extension and the OpenCode runtime represent distinct deployment targets:

- **VS Code Plugin**: Uses [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) and the root [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) with zero dependencies
- **OpenCode Runtime**: Uses [`.opencode/package.json`](https://github.com/ayghri/i-have-adhd/blob/main/.opencode/package.json) for a separate execution environment

This separation ensures that VS Code users do not install unnecessary packages intended for the OpenCode AI runtime.

## Build Requirements vs Runtime Dependencies

While the extension ships with no production dependencies, development requires standard tooling. Building the extension from source necessitates:

1. **TypeScript compiler** (`tsc`) for transpiling [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)
2. **VS Code type definitions** (`@types/vscode`) for compile-time type checking
3. **Node.js type definitions** (`@types/node`) for standard library types

These packages belong in `devDependencies`, not `dependencies`. End users who install the extension from the VS Code Marketplace receive no npm packages—the editor loads the compiled JavaScript and provides the `vscode` API automatically at runtime.

## Summary

- **Zero external npm dependencies** in production code
- **Single import source**: Only the built-in `vscode` module from [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)
- **Root package.json** contains an empty `"dependencies"` object
- **No runtime node_modules** required for end users
- **Build-time tooling** (TypeScript, type definitions) remains strictly in development

## Frequently Asked Questions

### Does the i-have-adhd VS Code plugin require any npm packages to function?

No. The extension operates using only the VS Code API supplied by the editor itself. The root [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) declares no production dependencies, and the [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) file imports exclusively from the `vscode` namespace.

### What is the purpose of the .opencode/package.json file?

The [`.opencode/package.json`](https://github.com/ayghri/i-have-adhd/blob/main/.opencode/package.json) configures dependencies for the OpenCode AI runtime environment, which is separate from the VS Code extension. It does not affect the VS Code plugin's dependency tree or installation process.

### How can the extension provide functionality without third-party libraries?

The i-have-adhd VS Code plugin leverages native VS Code API methods such as `vscode.commands.registerCommand` and `vscode.window.showInformationMessage`. These capabilities are built into the editor's extension host and require no external packages.

### Do I need to install TypeScript to use this extension?

No. TypeScript and `@types/vscode` are required only for development and building from source. End users installing the compiled `.vsix` file or installing from the marketplace receive pre-compiled JavaScript that runs without any build tools.