# What Is the Role of `package.json` in the I Have ADHD Repository?

> Discover why the I Have ADHD project, a Python-based Instagit skill, doesn't use package.json. Learn about its architecture and Python's role.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: deep-dive
- Published: 2026-07-30

---

**The I Have ADHD codebase does not utilize a [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) file because it functions as a Python-based Instagit skill definition rather than a Node.js application, rendering JavaScript dependency management unnecessary for its current architecture.**

Understanding the role of [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) in the `ayghri/i-have-adhd` repository requires examining what drives the project's execution flow. While this manifest file governs dependencies and build scripts in typical JavaScript applications, this repository relies on Python scripts and YAML/TOML skill descriptors to define its behavior.

## Why This Repository Lacks [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json)

### Python-Driven Skill Architecture

The `ayghri/i-have-adhd` repository is architected as an **Instagit skill definition**, utilizing Python modules and configuration files rather than JavaScript. According to the source code, the project’s execution logic resides in [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py), which handles evaluation cases, and [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), which defines the skill’s metadata and capabilities. Because the runtime environment executes Python code and processes configuration descriptors, Node.js package management serves no functional purpose in the current workflow.

### Key Files Replacing Node.js Manifest Functionality

Where a [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) would typically declare entry points and dependencies, this repository uses:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** – The primary skill definition containing metadata, instructions, and capability declarations for the Instagit platform.
- **[`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py)** – Python module that executes evaluation cases and validates skill behavior.
- **[`tests/test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_run_evals.py)** – Unit tests for the evaluation runner, ensuring code quality without JavaScript testing frameworks.
- **[`.github/workflows/plugin-load-check.yml`](https://github.com/ayghri/i-have-adhd/blob/main/.github/workflows/plugin-load-check.yml)** – CI/CD configuration that validates the skill plugin loads correctly, replacing npm-based build verification.

These files collectively fulfill the roles—dependency tracking, entry point definition, and build automation—that [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) handles in JavaScript projects.

## Standard [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) Responsibilities

To understand what is absent, examine what [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) typically manages in Node.js ecosystems:

### Metadata Declaration

In JavaScript projects, [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) declares the project’s identity through fields like `name`, `version`, `description`, and `license`. For the I Have ADHD project, this metadata lives in [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md) and the skill descriptor files instead.

### Dependency Management

The file distinguishes between `dependencies` (runtime libraries) and `devDependencies` (build/testing tools). In [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py), Python imports handle dependency resolution through pip and requirements files rather than npm.

### Script Automation

Standard Node.js projects define commands like `npm run build` or `npm test` in the `scripts` section. Here, execution is triggered by running Python directly (e.g., `python scripts/run_evals.py`) or through GitHub Actions defined in [`.github/workflows/plugin-load-check.yml`](https://github.com/ayghri/i-have-adhd/blob/main/.github/workflows/plugin-load-check.yml).

*Illustrative example of what a [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) would contain (not present in this repo):*

```json
{
  "name": "i-have-adhd",
  "version": "1.0.0",
  "description": "Instagit skill for managing ADHD-related tasks",
  "main": "index.js",
  "scripts": {
    "test": "jest",
    "build": "webpack --mode production"
  },
  "dependencies": {
    "axios": "^1.6.0"
  },
  "devDependencies": {
    "jest": "^29.6.1"
  },
  "license": "MIT"
}

```

## When Would [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) Become Necessary?

A [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) would only become relevant if the repository expanded to include JavaScript components, such as a web-based user interface or Node.js API integrations. If developers added a React frontend or Express server, this manifest would then serve as the central place to manage those new JavaScript dependencies and npm scripts.

## Summary

- The **I Have ADHD** repository (`ayghri/i-have-adhd`) contains **no [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json)** because it operates as a Python-based Instagit skill, not a Node.js application.
- Core functionality is driven by **[`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py)**, **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)**, and **[`.github/workflows/plugin-load-check.yml`](https://github.com/ayghri/i-have-adhd/blob/main/.github/workflows/plugin-load-check.yml)**.
- Python imports and YAML/TOML configuration files replace the dependency management and metadata roles typically handled by [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json).
- This file would only be required if the project added JavaScript components requiring npm package management.

## Frequently Asked Questions

### Why doesn't the I Have ADHD repository include a package.json?

The repository is built as an Instagit skill using Python scripts and YAML descriptors. Since it contains no JavaScript code or Node.js runtime dependencies, a [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) file—which manages JavaScript packages—serves no purpose in the current architecture.

### What files manage dependencies if there's no package.json?

Dependency management falls to Python’s ecosystem. The project uses **[`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py)** for execution logic and relies on pip-installed packages rather than npm. Continuous integration is handled by **[`.github/workflows/plugin-load-check.yml`](https://github.com/ayghri/i-have-adhd/blob/main/.github/workflows/plugin-load-check.yml)**.

### Could I add a package.json to this project in the future?

Yes. If you extend the repository with JavaScript components—such as a web frontend or Node.js utilities—adding a [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) would become necessary to manage those specific dependencies and define npm scripts for building or testing the JavaScript portions.

### Is the I Have ADHD project a JavaScript or Python project?

It is primarily a **Python project**. The core logic resides in Python files like [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py) and [`tests/test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_run_evals.py), while configuration uses YAML/TOML formats suitable for the Instagit skill platform.