# Runtime Entry Points for Gemini and Qwen Integrations in i-have-adhd

> Discover the runtime entry points for Gemini and Qwen integrations within i-have-adhd. Learn how JSON manifest files streamline ADHD-friendly response rules for Gemini CLI and Qwen Code.

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

---

**The i-have-adhd project uses separate JSON manifest files—[`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json) and [`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json)—as runtime entry points to register ADHD-friendly response rules in Gemini CLI and Qwen Code.**

The **i-have-adhd** repository provides LLM-agnostic ADHD coaching rules that integrate with multiple AI coding assistants. Understanding the **runtime entry points for Gemini and Qwen integrations** reveals how these platforms discover and load the skill without modifying core runtime code.

## How Runtime Entry Points Work

Both integrations rely on declarative manifest files that the respective CLIs scan at startup. These manifests declare the skill's metadata, entry commands, and context sources, allowing the runtimes to expose the `/i-have-adhd` command natively.

### Gemini CLI Integration

For **Gemini CLI**, the runtime entry point is [[`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json)](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json). This manifest registers the skill as a native Gemini extension.

Key fields in the manifest:
- `name` and `version` – Identify the extension in the Gemini ecosystem
- `contextFileName` – Points to [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md), which contains the skill description and rules consumed by the LLM
- `description` – Human-readable summary shown in extension listings

When Gemini CLI initializes, it loads this manifest, reads the referenced [[`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md)](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md), and makes the `/i-have-adhd` command available as a plug-in.

### Qwen Code Integration

For **Qwen Code**, the runtime entry point is [[`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json)](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json). This file exposes the skill as a native Qwen extension.

Key fields include:
- `skills` – Specifies the directory containing skill implementations (typically `skills/i-have-adhd/`)
- `name`, `version`, and `description` – Standard metadata for the Qwen marketplace

Qwen Code scans the `skills` directory at startup to locate [[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), which holds the 10 ADHD-friendly response rules applied by the runtime.

## Configuration and Skill Implementation

Both entry points ultimately resolve to the same core rules, but they reference different context files due to platform-specific formatting requirements.

### Core Skill Definition

The actual behavioral logic resides in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), which contains:
- **10 structured rules** for ADHD-friendly responses (bullet points, clear headings, concise instructions)
- **`disable-model-invocation: true`** flag, ensuring the skill remains inactive until explicitly invoked
- Deactivation triggers: "stop adhd mode" or "normal mode"

### File Path Reference

| Platform | Entry Point Manifest | Context File | Implementation |
|----------|---------------------|--------------|----------------|
| **Gemini** | [`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json) | [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) | Loaded as context at runtime |
| **Qwen** | [`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json) | [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Scanned from `skills` directory |

## Activating and Deactivating Skills

Once the runtime loads the manifest, users interact with the skill through standardized slash commands.

### Gemini CLI Usage

```bash
$ gemini
> /i-have-adhd

```

### Qwen Code Usage

```bash
$ qwen
> /i-have-adhd

```

### Deactivation Commands

To return to standard behavior in either runtime:

```text
> stop adhd mode

```

Or alternatively:

```text
> normal mode

```

## Summary

- **Gemini integration** uses [`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json) as its runtime entry point, referencing [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) via the `contextFileName` field.
- **Qwen integration** uses [`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json), discovering rules in the `skills/i-have-adhd/` directory.
- Both platforms expose the skill through the `/i-have-adhd` slash command.
- The skill respects the `disable-model-invocation: true` flag, remaining dormant until explicitly activated.
- Deactivation occurs by typing "stop adhd mode" or "normal mode" in either CLI.

## Frequently Asked Questions

### Where are the runtime entry points defined in the i-have-adhd repository?

The runtime entry points are defined in the repository root as **[`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json)** for Gemini CLI and **[`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json)** for Qwen Code. These JSON files contain the metadata required for each platform to discover and register the skill at startup.

### Do Gemini and Qwen use the same skill implementation file?

No. While both implement the same 10 ADHD-friendly rules, **Gemini** consumes **[`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md)** (referenced via `contextFileName`), whereas **Qwen** reads **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** (discovered through the `skills` directory array). Both files contain identical behavioral logic but may differ in formatting optimized for each platform's context window handling.

### Can the skill activate automatically when I start the CLI?

No. According to the `disable-model-invocation: true` flag defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), the skill remains **inactive by default**. You must explicitly type `/i-have-adhd` in either Gemini CLI or Qwen Code to enable ADHD mode for that session.

### What command deactivates the ADHD skill in both runtimes?

Typing **`stop adhd mode`** or **`normal mode`** disables the skill and returns the LLM to standard response patterns. This command works identically in both Gemini CLI and Qwen Code environments.