# The README

Create a top-level README and make it the entry point for developers, so they can quickly get the system up and running.

Ask new starters to begin with reading this README, and in turn, it should provide enough information to get started.

Write as little as possible. People don't read, they scan, and very few are interested in reading a README. Developers will look for keywords and code blocks to copy. Don't let important information get lost in the sea of words. [Don't waste attention](/best-practices/the-big-picture/principles/attention.md).

Few things scream neglect as an outdated README. The less you write, the less will become obsolete tomorrow.

When you need to write a lot of instructions, consider automating the complicated steps. Solve the problem once instead of letting everyone after you struggle with it.

What to include in a README?

* Instructions to get the project working in a dev environment so people can start being productive fast
* Brief notes on quirks, known issues, peculiar things in the project that would surprise others.

What to leave out?

* List of technologies in use, they should be evident from the codebase or  `package.json`.
* Do not copy or link to 3rd party documentation that is a Google search away.
* In general, omit everything that is obvious or can easily be found out from the codebase, or is not relevant to writing software.

Making others read one README is an achievement in itself. By default, I'd avoid adding separate READMEs to the individual workspace modules.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://thekarel.gitbook.io/best-practices/source-code/thereadme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
