Skip to content
Back to skills

Codebase Map

ASecurity

Where things live in this repository and how to find them fast. Use before analysing, planning or implementing anything in this project.

  • 100 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentstypescriptreactnodeapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add Inebrio/Routerly --skill codebase-map --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codebase Map?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Codebase Map
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/inebrio-codebase-map-routerly/badge)](https://www.skillsdirectory.com/skills/inebrio-codebase-map-routerly)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: codebase-map
description: Where things live in this repository and how to find them fast. Use before analysing, planning or implementing anything in this project.
---

# Codebase map

TypeScript ESM monorepo, Node >= 20, npm workspaces.

| Package | What it is | Stack |
|---|---|---|
| `packages/shared` | Types shared by every surface. Single source of truth. | TypeScript |
| `packages/service` | The gateway and the management API. | Fastify 5 |
| `packages/cli` | The command line surface. | Commander 14, Inquirer 13 |
| `packages/dashboard` | The web surface. | React 18, Vite 6 |

Binding rules per package live in `.claude/rules/service.md`,
`.claude/rules/cli.md` and `.claude/rules/dashboard.md`. Read the one that
covers what you are touching.

## Where to look first

- **A type**: `packages/shared/src/types/`. Never redefine one elsewhere.
- **An HTTP route**: `packages/service/src/routes/` and
  `packages/service/src/modules/*/`.
- **A CLI command**: `packages/cli/src/commands/`, registered in `index.ts`.
- **A page**: `packages/dashboard/src/pages/`, API calls only via `api.ts`.
- **Runtime state**: JSON files under `ROUTERLY_HOME` (`~/.routerly` by
  default), not a database. `config/settings.json` holds the port.
- **Tests**: `*.test.ts` beside the source they cover. Runner: vitest.

## How to search

Grep for the concrete string a user would see (an error message, a flag, a
label) before grepping for concepts. It lands on the real call site in one
hop.

To understand a feature end to end, follow one request: CLI command or
dashboard page, then `api.ts`, then the service route, then the module that
does the work, then the shared type it returns. Four files usually cover it.

## Traps

- A feature exists on three surfaces. Finding it in one does not mean the
  other two are done, and changing one without the others is a bug.
- `dist/` directories are build output. Never read them for truth and never
  edit them.
- The default branch is stale. Work branches from the current integration
  branch, never from the default one.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.