# Where Are the Configuration Files in cloudflare/computer? A Complete Monorepo Guide

> Find cloudflare computer configuration files easily. Explore root definitions, package manifests in packages/*, TS configs, and GitHub Actions in .github/ for your monorepo.

- Repository: [Cloudflare/computer](https://github.com/cloudflare/computer)
- Tags: how-to-guide
- Published: 2026-08-09

---

**The cloudflare/computer repository stores configuration files across root workspace definitions, individual package manifests in `packages/*`, TypeScript compiler settings, and GitHub Actions workflows under `.github/`.**

The cloudflare/computer project is organized as an npm workspace monorepo, which means configuration is distributed rather than centralized. Instead of a single global config file, each concern is scoped to the specific part of the project it serves, from the root [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) that stitches the workspace together to individual [`tsconfig.json`](https://github.com/cloudflare/computer/blob/main/tsconfig.json) files per package.

## Root Workspace Configuration

The entry point for all cloudflare/computer configuration files is the repository root. Here, the [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) defines the workspace boundaries, top-level scripts, and development dependencies shared across all packages.

**Key file:** [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) at the repository root.

This file declares the workspace glob pattern (typically `packages/*`) and orchestrates monorepo-wide commands. When you run `npm install` at the root, it installs dependencies for every package in the workspace.

```bash

# Install all workspace dependencies

npm install

# Build every package that has a build script

npm run build

# Lint, format and run the full test suite

npm run check
npm test

```

## Package-Level Configuration Files

Each package inside the `packages/` directory maintains its own configuration files, allowing independent build settings, entry points, and metadata.

**Individual package manifests:** Each subfolder contains a [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) that defines the specific npm package. The repository includes several packages:
- [`packages/dofs/package.json`](https://github.com/cloudflare/computer/blob/main/packages/dofs/package.json)
- [`packages/rpc/package.json`](https://github.com/cloudflare/computer/blob/main/packages/rpc/package.json)
- [`packages/computer/package.json`](https://github.com/cloudflare/computer/blob/main/packages/computer/package.json)
- [`packages/computerd/package.json`](https://github.com/cloudflare/computer/blob/main/packages/computerd/package.json)

**TypeScript configuration:** Compiler options and project references are controlled by individual [`tsconfig.json`](https://github.com/cloudflare/computer/blob/main/tsconfig.json) files located next to each package. For example, [`packages/dofs/tsconfig.json`](https://github.com/cloudflare/computer/blob/main/packages/dofs/tsconfig.json) contains the TypeScript compiler flags and build targets specific to that package.

To build a single package rather than the entire workspace, use the `--workspace` flag:

```bash

# Build only the computerd daemon package

npm run build --workspace @cloudflare/computerd

```

## CI/CD and Automation Configuration

Continuous integration settings live under `.github/` and control how the cloudflare/computer repository builds, tests, and publishes across different environments.

**Workflow definitions:** The file [`.github/workflows/ci.yml`](https://github.com/cloudflare/computer/blob/main/.github/workflows/ci.yml) orchestrates the CI matrix, executing build, lint, type-check, and test jobs across the monorepo.

**Reusable actions:** Shared installation steps and caching logic are abstracted into [`.github/actions/install/action.yml`](https://github.com/cloudflare/computer/blob/main/.github/actions/install/action.yml). This reusable action standardizes Node.js version management and dependency caching across workflow jobs.

You can execute these workflows locally using the `act` tool for debugging:

```bash

# Run the CI matrix locally

act -j package -j example

```

## Development Environment Configuration

For local development of examples and tutorials, the repository provides template environment files rather than committed secrets.

**Example environment files:** The file `examples/tutorial/.env.example` serves as a placeholder template for development environment variables. Copy this file and populate it with your local secrets before running tutorials.

```bash

# Copy the placeholder and edit the values you need

cp examples/tutorial/.env.example .env

# Then run the tutorial

npm run start --workspace @example/computer-tutorial

```

## Issue and Community Configuration

Repository governance and issue management are configured through GitHub-specific files.

**Issue templates:** The file [`.github/ISSUE_TEMPLATE/config.yml`](https://github.com/cloudflare/computer/blob/main/.github/ISSUE_TEMPLATE/config.yml) controls the default fields, labels, and form fields shown when contributors create new issues, ensuring consistent bug reports and feature requests.

## Summary

- **Root configuration:** The top-level [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) defines the npm workspace and monorepo-wide scripts.
- **Package configs:** Each `packages/*/package.json` and `packages/*/tsconfig.json` controls individual package builds and TypeScript compilation.
- **CI/CD setup:** GitHub Actions workflows in [`.github/workflows/ci.yml`](https://github.com/cloudflare/computer/blob/main/.github/workflows/ci.yml) and reusable actions in [`.github/actions/install/action.yml`](https://github.com/cloudflare/computer/blob/main/.github/actions/install/action.yml) handle automation.
- **Local development:** `examples/tutorial/.env.example` provides templates for environment-specific variables.
- **Community management:** [`.github/ISSUE_TEMPLATE/config.yml`](https://github.com/cloudflare/computer/blob/main/.github/ISSUE_TEMPLATE/config.yml) standardizes issue creation.

## Frequently Asked Questions

### Where is the main package.json in cloudflare/computer?

The main [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) is located at the repository root. It defines the npm workspace configuration and lists all packages under the `packages/*` directory as workspace members, enabling monorepo-wide dependency management and script execution.

### Does cloudflare/computer have a single global configuration file?

No, the repository follows a distributed configuration pattern. Each package in `packages/*` maintains its own [`package.json`](https://github.com/cloudflare/computer/blob/main/package.json) and [`tsconfig.json`](https://github.com/cloudflare/computer/blob/main/tsconfig.json), while shared concerns like CI/CD are configured in `.github/`. This separation allows packages to evolve independently with specific build requirements.

### How do I build only one package in the cloudflare/computer monorepo?

Use npm's workspace filter with the `--workspace` flag followed by the package name. For example, `npm run build --workspace @cloudflare/computerd` builds only the computerd daemon without triggering builds for other packages in the workspace.

### Where are the TypeScript configuration files located?

Each package has its own TypeScript configuration file. For instance, [`packages/dofs/tsconfig.json`](https://github.com/cloudflare/computer/blob/main/packages/dofs/tsconfig.json) contains compiler options for the dofs package, while other packages like `rpc`, `computer`, and `computerd` have corresponding [`tsconfig.json`](https://github.com/cloudflare/computer/blob/main/tsconfig.json) files in their respective directories.