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.
Library membership and roles#
Each Library has its own members with roles that control what actions they can perform within that Library. Library roles are independent from organization roles: an organization admin has no rights inside a Library unless they also have a Library-level role.
- Owner: full control over the Library, including managing members, transferring ownership, and configuring all settings.
- Admin: can manage Library members (except the owner), configure settings, and manage Sources and Documents.
- Member: can view and work with the Library's knowledge base, but cannot change settings or manage other members.
Library membership is managed through the "Members" tab in the Library's interface. Organization admins and owners can invite users to a Library, and Library-level Admins and Owners can do the same. Users can be invited to specific Libraries without being added to every Library in the organization.
When you perform an action inside a Library—such as connecting a Source, importing a Document, or changing style guidelines—what you can do depends on both your organization role and your role within that specific Library. See Roles and permissions for the full breakdown.
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 can be done by organization admins and owners, or by users with Library-level Owner or Admin roles.
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.