# Namespaces

How catalog ids work, the namespace that belongs to your handle, copying an entry into yours with credit, and maintainers.

Source: https://rack-maker.cbnsndwch.dev/docs/catalog/namespaces

## Catalog ids

Every catalog entry has an id made of two parts, `<namespace>/<slug>`:

- `alice/mini-pc-tray`: the entry `mini-pc-tray` in the namespace `alice`
- `cbnsndwch/shelf-10in`: the 10″ shelf that ships with Rack Maker

Ids are lowercase. The namespace uses letters, digits and dashes; the slug may also contain dots. An id never changes once the entry exists. Each revision of the entry is the id plus a number, and projects refer to an exact revision. See [Entries and revisions](https://rack-maker.cbnsndwch.dev/docs/catalog/entries-and-revisions).

## Your namespace

When you [sign in](https://rack-maker.cbnsndwch.dev/docs/getting-started/accounts), your handle is your namespace. It is created the first time you save a draft in it. What you make goes there, and nobody else can change it.

Handles are 2 to 32 characters of lowercase letters, digits and dashes, and can't start with a dash. A few names are reserved: `core`, `community`, `system`, `admin-bot` and `cbnsndwch`.

There is no shared namespace that anyone can write to. Everything in the catalog belongs to someone, and the **Namespace** filter on [the catalog page](https://rack-maker.cbnsndwch.dev/catalog) shows whose it is.

![The catalog's filters with the Namespace filter set to ana: the Category, Goes in, Kind, Namespace and Status options, each with how many entries it would leave](https://rack-maker.cbnsndwch.dev/docs/shots/catalog/filters-light.webp)

*The Namespace filter shows whose entries are whose.*

## The seed namespace

The entries that ship with the app (racks, shelves, trays, rails, fasteners and common devices) are in `cbnsndwch`. Only the site's admins and that namespace's maintainers can change them. If one of them is wrong for you, copy it into your namespace, or [report](https://rack-maker.cbnsndwch.dev/docs/catalog/reports) the problem.

## Copying an entry

On an entry in someone else's namespace, **Fork to @you** (with your handle) makes a copy in yours:

- The copy gets the same slug in your namespace, starting again at rev 1. For example, `bob/nas-shelf` becomes `alice/nas-shelf`.
- It opens as a draft in the [catalog editor](https://rack-maker.cbnsndwch.dev/docs/catalog/authoring), for you to change.
- The copy keeps all of the original's credits, and adds the entry and revision it was forked from (`bob/nas-shelf@3`, say). Catalog entries are CC BY-SA 4.0, so this credit has to stay. See [Licences and credits](https://rack-maker.cbnsndwch.dev/docs/catalog/licences-and-credits).

If your namespace already has an entry with that slug, the fork doesn't go through, since the id is taken. Start a new revision of your own entry instead, or copy the definition into a **New part** with another slug, keeping its credits.

![The page of the 10″ shelf that ships with Rack Maker, seen by @ana: Fork to @ana and Report next to its name](https://rack-maker.cbnsndwch.dev/docs/shots/catalog/fork-light.webp)

*On someone else's entry, Fork to @you copies it into your namespace.*

You can use a copy in your own projects straight away, as a draft. To put it in the catalog for everyone, submit it for review.

## Maintainers

A namespace can have maintainers besides its owner. Maintainers can draft in the namespace and, with [contributor access](https://rack-maker.cbnsndwch.dev/docs/catalog/contributing), review and publish its revisions, just like the owner. Other members can draft in it but not publish.

Admins can draft and publish in any namespace.
