# Projects: binding a directory, and starting one Part of the using-scribe skill. Read it when a working directory maps to no project, or when a new project is about to be created. ## Binding a directory to a project **A directory does not have to be a git repo to have a project.** A repo is bound by its remote (`list_repo_bindings` shows the bindings). Anything else — a notes folder, a server's config directory, a scratch directory — is bound by a `.scribe` file naming the project: {"instance": "https://scribe.example.com", "project_id": 2, "project": "Homelab"} `instance` is what makes the id trustworthy. An id means nothing on its own — it is a different project on every Scribe — so a marker that has travelled to another instance is ignored rather than followed to the wrong project. A bare `2` also works when writing the file by hand. When work plainly belongs to a project and the directory names none, offer to write the marker; `list_projects` has the id. ## Starting a project: decide what it inherits A project's inheritance is a **decision, not a default**. Before `create_project`, ask the operator the two inception questions and pass the answers — never create a project bare by default: - which **design system** its UI is built from (`list_design_systems`; or none) → `design_system_id=` - whether to **seed the standard starter Systems** so records can be tagged from day one → `seed_systems=true|false` Rules are not an inception question: a global rule already applies to every project, and a project's own rules are written on it as they come up. If `enter_project` returns an `inception` key, the project was never decided (it inherits its defaults silently): raise that ask once, with the defaults it carries, then `decide_project_inception(project_id, …)`. Existing projects were stamped "legacy" and do not ask; any project can be re-decided. The design-system and Systems tools still work one at a time — inception is the moment they are decided together, and the record of why.