A Library is a knowledge base for a project, team, or product area. It holds the Sources Dosu learns from, the Documents it produces, the Topics and Templates that shape and organize that knowledge, and the settings that govern how it all behaves. This page explains what a Library is, why teams use them, and how membership and visibility work.
What a Library is#
A Library is the container for one body of knowledge inside your organization. Everything Dosu does for a project happens within a Library:
- Sources: the connected tools Dosu reads from, such as a GitHub repository or a Slack workspace.
- Documents: the saved knowledge artifacts Dosu generates and your team curates.
- Topics: groupings that organize related Documents within the Library.
- Templates: reusable structures that shape the Documents Dosu generates.
- Settings: the Library name, its visibility, knowledge base behavior, and style guidelines for generated documentation.
Each Library has its own knowledge base and is configured independently from the others. You manage Libraries at Libraries. (Libraries were previously called Spaces.)
Why it matters#
Engineering organizations rarely have one tidy source of truth. Knowledge is spread across many repositories, channels, and teams, and it walks out the door when people leave. Libraries let you scope and govern that knowledge instead of pooling everything together.
- Organize knowledge at scale. A platform team, an infrastructure group, and a product area can each have a Library with the Sources and Documents that belong to them. Onboarding gets faster because new engineers read the Library for their area instead of guessing where things live.
- Control visibility and membership. Each Library is public or private, and you decide which Sources belong to it. Private Libraries stay restricted to your organization, so sensitive repositories stay out of anything you intend to share.
- Cut the cost of coding agents. A Library is also what your agents draw from over MCP and the CLI. Scoping knowledge per project gives agents relevant context instead of the whole company at once.
The same setup scales from a single repository to a whole company, and it works just as well for open source and other public projects.
How it works#
Sources can belong to more than one Library#
A Source is not locked to a single Library. The same GitHub repository can be a member of several Libraries when that knowledge is relevant to more than one team. Dosu tracks Library membership explicitly, so adding or removing a Source from one Library does not change another. Manage Sources from inside a Library at Libraries. For more on connecting tools, see Sources.
Visibility is set per Library#
Visibility is a Library-level setting, not a per-Source one.
- Private Libraries restrict access to members of your organization.
- Public Libraries let anyone ask questions and browse documentation without a Dosu account.
Because access follows the Library, every Source connected to a public Library becomes queryable by anyone. Before you make a Library public, check which Sources are attached so a private repository is not exposed by being a member of a public Library. Public Libraries are covered in depth in Public Libraries.
Each Library is configured independently#
A Library carries its own knowledge base settings. These include how Topics are assigned and suggested, the default publish behavior for new Documents, whether Dosu's proposed changes are accepted automatically or held for Review, and style guidelines for generated documentation. An Agent draws on the knowledge in the Libraries it is connected to, so its answers reflect the right project. Creating and configuring Libraries is limited to organization admins and owners. See Roles and permissions for the full breakdown.
Larger organizations run several Libraries side by side, one per team or product area, with Sources shared across them where it makes sense. See Working with multiple Libraries for patterns.
Create a Library#
- Go to Libraries and start a new one at Create a Library.
- Give the Library a name and choose its visibility (public or private).
- Connect the Sources Dosu should learn from at Connect Sources.
- Adjust knowledge base behavior and style guidelines in the Library's settings whenever you need to.