A Library is internal by default. Setting its visibility to public lets anyone read its Documents and ask questions. This page explains the difference between a public and a private Library, how to make one public, what unauthenticated visitors can see, and how this applies to open source projects and public community knowledge.
Visibility levels#
Every Library has a Visibility setting with three values.
- Private. Only users with an explicit Library role assignment can open the Library, read its Documents, and ask questions. Organization membership alone does not grant access, even for organization admins. This is the right choice for confidential knowledge that should be restricted to specific people.
- Internal (the default). Everyone in your organization can read the Library and ask questions, including people who join later. This is the right choice for internal knowledge: service docs, runbooks, architecture, anything you would not publish outside your organization but want accessible to all organization members.
- Public. Anyone with the link can read the Library and ask questions, including people who are not signed in and do not have a Dosu account. Like Internal Libraries, organization members have automatic access. Public Libraries are meant for open source projects and public knowledge sites.
Visibility is set per Library, so you can keep most of your knowledge private while opening up one Library (for example, a public-facing product or an open source repo) without changing anything else.
Important: when a Library is public, everything in it is public. All Documents and their connected Sources become queryable by anyone. Treat a public Library as a publishing surface, and connect only Sources whose content is safe to expose.
Why it matters#
Open source projects face the same knowledge problem as private codebases. Answers live in issues, pull requests, and discussions, and they are hard for users and new contributors to find. A public Library turns that activity into documentation people can read and a place where anyone can ask a question and get a grounded answer, which takes the load off maintainers.
For companies, a public Library is community knowledge powered by the same engine you already run internally. You can maintain a public help center or developer docs site that stays up to date as your project evolves, while your Internal Libraries remain accessible to all organization members and your Private Libraries stay restricted to users with explicit Library role assignments. One setup, multiple audiences.
How to make a Library public#
- Open the Library you want to publish from Libraries. Public visibility can only be set after creation; when you create a Library, you choose between Internal and Private, then change it to Public through Library settings.
- In the Library settings, find Visibility and switch it to Public.
- Check which Sources are attached before you save. Switching to Public takes effect right away, with no confirmation step, and all content becomes visible to anyone with the link.
- Once it is public, Dosu gives you a Public Library URL. Share that link to give people read and ask access. To change visibility later, switch Visibility back to Internal or Private.
Making an Internal or Public Library private removes implicit organization-member access. Dosu asks you to confirm first: only you and people with an explicit Library role assignment will keep access, and everyone else in your organization, including organization admins and owners, will lose access. Before changing a Library to Private, assign explicit roles to any organization members who should retain access.
Only owners and admins can change a Library's settings. See Roles and RBAC.
Open source repositories#
If you maintain or contribute to a public GitHub repository, you can publish it as a public Library without building one by hand. Using the dosu CLI, run:
dosu add owner/repo
Prerequisites:
- The dosu CLI is installed.
- You are authenticated with GitHub (
gh auth login). - The target repository is public on GitHub.
What visitors can see#
On a public Library, an unauthenticated visitor can:
- Browse the Library's Documents.
- Ask questions and get answers grounded in the Library's Sources, including code, issues, pull requests, and discussions.
Visitors are readers. Publishing a Library does not give the public the ability to edit Documents, change settings, or see your other (private or internal) Libraries. Drafting, Review, and configuration stay with your organization's members.
Discovery#
Public Libraries are discoverable as well as shareable.
- Browse public Libraries at https://app.dosu.dev/explore.
- For a GitHub repository, swap
github.comforgithub.dosu.comin the URL to jump straight to its public Library. For example,https://github.com/apache/airflowbecomeshttps://github.dosu.com/apache/airflow. If no public Library exists for that repository yet, the page offers a way to request one.
Notes and limits#
- Public visibility exposes the whole Library. There is no per-Document or per-Source public toggle, so split anything sensitive into a separate private Library.
- Web is a real-time Source. Dosu reads the web at query time and does not crawl, index, or store website content, so making a Library public does not publish a crawl of any site.
- Visibility is reversible at any time. Switching from Public to Internal removes unauthenticated access but keeps organization member access. Switching an Internal or Public Library to Private immediately removes implicit access for all organization members. Only people with explicit Library role assignments keep access, and the organization admin who makes the Library private is automatically given an explicit admin role so they are not locked out.
- Access requests apply only to Private Libraries. Internal and Public Libraries grant organization members automatic access, so they never need to request it.