# Dependency (/academy/dependency)



A dependency is a rented power tool.

You came to build a house this weekend. You did not mill the saw. `better-auth`, `hono`, `zod` — someone else forged those. You wrote their names in `package.json`. `bun install` puts them on your bench.

A *package* is the tool in a box, with a version stamped on the side. Your project *depends* on it. That is the word.

**The [builder](/builder) is a tool crib**

The stack picker is a list of rented tools: frontend, backend, [database](/academy/database), auth. `npx create-hackhaton-space-stack@latest` writes the shopping list and stocks the bench. You did not carve the app from granite. You chose blades.

This is [open source](/academy/open-source) doing the boring work. Dates, HTTP, schemas — already solved. Your job is the product, not another date library.

**The saw has a history, and a cousin**

Tools have dependencies of their own. A small app can pull in hundreds of boxes you never named. One rusty box down the pile can still cut you. Pin versions. Read the name before you install a typo. Fewer tools at a hackathon means fewer 3 a.m. mysteries.

Licenses travel with the tool. [GitHub](/academy/github) is usually where the box lives. [Git](/academy/git) is how its authors version the steel. An agent via [MCP](/academy/mcp) will add packages the way a contractor grabs whatever is on the truck. You still own the bench. Ask what the tool is for before it lands.

**What this unlocks**

A weekend spent on the house, not the saw.

Rent the tool. Build the thing only you can build.
