# Monorepo Structure

> This page details the organization of the uniswap-ai repository.

- Skill: `tools-only/monorepo-structure` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/monorepo-structure`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/monorepo-structure/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/monorepo-structure

---


# Monorepo Structure

This page details the organization of the uniswap-ai repository.

## Directory Layout

```text
uniswap-ai/
├── .claude/                # Claude Code configuration
│   └── rules/              # Agent rules (agnostic design)
├── .claude-plugin/         # Claude Code marketplace config
│   └── marketplace.json    # Plugin registry
├── .github/
│   ├── actions/            # Reusable composite actions
│   ├── workflows/          # CI/CD workflows
│   └── vale/               # Prose linting styles
├── docs/                   # VitePress documentation
│   ├── .vitepress/         # VitePress configuration
│   ├── architecture/       # Architecture documentation
│   ├── contributing/       # Contribution guides
│   ├── evals/              # Eval framework docs
│   ├── getting-started/    # Getting started guides
│   ├── plugins/            # Plugin documentation
│   └── skills/             # Skill documentation
├── evals/                  # AI tool evaluations
│   ├── rubrics/            # Shared evaluation rubrics
│   ├── suites/             # Per-skill eval suites
│   └── templates/          # Templates for new suites
├── packages/
│   └── plugins/            # Claude Code plugins
├── scripts/                # Build/validation scripts
├── AGENTS.md -> CLAUDE.md  # Symlink for agent-agnostic access
├── CLAUDE.md               # Project guidelines
├── nx.json                 # Nx workspace configuration
├── package.json            # Root package configuration
└── tsconfig.base.json      # Base TypeScript config
```

## Package Scopes

| Type    | Scope      | npm | Marketplace                   |
| ------- | ---------- | --- | ----------------------------- |
| Plugins | `@uniswap` | No  | Yes (Claude Code Marketplace) |

## Nx Configuration

### Workspace (nx.json)

The workspace is configured with:

- **Plugins**: TypeScript, ESLint, Jest
- **Caching**: Build outputs cached in `node_modules/.cache/nx`
- **Parallel execution**: Up to 5 concurrent tasks
- **Release**: Conventional commits with independent versioning

### Project Configuration

Each package has a `project.json` with:

```json
{
  "name": "package-name",
  "projectType": "library",
  "targets": {
    "build": { ... },
    "test": { ... },
    "lint": { ... }
  }
}
```

## Plugin Structure

Each plugin in `packages/plugins/` follows this structure:

```text
plugin-name/
├── .claude-plugin/
│   └── plugin.json        # Plugin manifest
├── skills/                 # AI skills
│   └── skill-name/
│       ├── SKILL.md       # Skill definition
│       └── references/    # Supporting materials
├── agents/                 # Specialized agents
├── package.json           # Package metadata
├── project.json           # Nx configuration
└── README.md              # Plugin documentation
```

## Evals Structure

Evaluation suites in `evals/suites/` follow this structure:

```text
suite-name/
├── promptfoo.yaml          # Suite configuration
├── prompt-wrapper.txt      # Prompt template (injects SKILL.md context)
├── cases/                  # Test case prompts
│   └── test-name.md
└── rubrics/                # Evaluation rubrics (.txt files)
    └── rubric-name.txt
```

## Key Files

| File        | Purpose                                        |
| ----------- | ---------------------------------------------- |
| `CLAUDE.md` | Project guidelines and AI agent instructions   |
| `AGENTS.md` | Symlink to CLAUDE.md for agent-agnostic access |
| `nx.json`   | Nx workspace configuration                     |
| `.vale.ini` | Prose linting configuration                    |

## Related

- [Architecture Overview](/architecture/) - High-level design
- [Contributing](/contributing/) - How to contribute
- [Plugins](/plugins/) - Plugin development

