# Where Is the Archify CLI Entry Point Located?

> Discover the Archify CLI entry point in the package.json bin field, linking the archify command to scripts/run-tests.mjs for efficient development.

- Repository: [tt-a1i/archify](https://github.com/tt-a1i/archify)
- Tags: how-to-guide
- Published: 2026-09-10

---

**The Archify CLI entry point is defined in the [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json) `bin` field, which maps the `archify` command to the executable script at `scripts/run-tests.mjs`.**

The `tt-a1i/archify` repository registers its command-line interface through a standard Node.js binary configuration. Pinpointing the exact Archify CLI entry point helps developers troubleshoot execution paths and integrate the tool into automated workflows.

## Locating the CLI Definition in package.json

Node.js-based projects declare CLI entry points in the `bin` field of [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json). In the Archify repository, this field maps the command name `archify` to the bootstrap file that Node executes.

According to the source code analysis, the specific configuration is:

```json
{
  "bin": {
    "archify": "scripts/run-tests.mjs"
  }
}

```

This declaration tells package managers that when the `archify` command is invoked, Node.js should run the code contained in `scripts/run-tests.mjs`.

## The Entry Point Script: scripts/run-tests.mjs

The actual CLI logic begins execution in `scripts/run-tests.mjs`. This file serves as the JavaScript entry module that initializes the Archify command-line interface.

Key implementation details include:

- **Relative path**: `scripts/run-tests.mjs`
- **Module format**: ES Module (indicated by the `.mjs` extension)
- **Repository location**: `tt-a1i/archify`

## How npm Links the archify Command

When you install the package globally using `npm install -g archify`, npm reads the `bin` mapping from [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json) and creates a symlink in your system’s PATH. This symlink connects the terminal command `archify` directly to `scripts/run-tests.mjs`, allowing you to run the CLI from any directory.

## Running the Archify CLI

### Global Installation and Command Usage

Install the package to register the `archify` command system-wide:

```bash

# Install Archify globally

npm install -g archify

# Verify the CLI is available

archify --version

# Execute a workflow

archify run path/to/workflow.json

```

### Programmatic Invocation

You can also invoke the CLI from another Node.js process using the `child_process` module:

```javascript
import { spawnSync } from "child_process";

const result = spawnSync("archify", ["run", "example.workflow.json"], {
  encoding: "utf-8",
});

console.log(result.stdout);

```

## Summary

- The **Archify CLI entry point** is declared in [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json) under the `bin` field.
- The executable script is located at **`scripts/run-tests.mjs`** in the repository root.
- The `archify` command maps directly to this script when the package is installed globally.
- You can invoke the CLI via terminal commands or programmatically using Node.js spawn methods.

## Frequently Asked Questions

### What file serves as the Archify CLI entry point?

The entry point is **`scripts/run-tests.mjs`**, as specified in the `bin` field of [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json). Node.js executes this script whenever the `archify` command is called from the terminal.

### How does npm know which script to run for the archify command?

npm reads the **`bin`** mapping in [`package.json`](https://github.com/tt-a1i/archify/blob/main/package.json). The key `"archify"` defines the command name, while the value `"scripts/run-tests.mjs"` specifies the file path, creating a symlink in the global PATH during installation.

### Can I run the Archify CLI without installing it globally?

Yes. You can use **`npx archify`** to execute the CLI without a global installation, or run **`node scripts/run-tests.mjs`** directly from the cloned repository if you are working with the source code locally.

### Is the entry point script written in JavaScript or TypeScript?

The entry point is written in **JavaScript** as an ES Module using the `.mjs` extension. The `scripts/run-tests.mjs` file runs natively in Node.js without requiring TypeScript compilation or additional build steps.