---
title: How ShipDocs works
description: End-to-end pipeline — import a repo, detect components, generate Overview plus per-component Markdown docs, and chat with citations.
order: 1
---

# How ShipDocs works

> ShipDocs indexes a codebase and produces structured Markdown documentation plus an AI chat grounded in those docs. This page describes the product pipeline factually.

**URL:** https://shipdocs.sh/docs/how-it-works  
**Markdown:** https://shipdocs.sh/docs/how-it-works.md

## Pipeline

1. **Import** — Connect a GitHub or GitLab repository (public or private via OAuth), upload a ZIP, or push your working directory with the [CLI](https://shipdocs.sh/docs/cli.md).
2. **Scan** — ShipDocs reads the file tree and common manifests (e.g. `package.json`, `go.mod`, `Cargo.toml`, `requirements.txt`, and 250+ language/framework signals).
3. **Detect components** — The indexer groups the repo into real components (backend, frontend, workers, CLI, migrations, SDK, webhooks, infra, etc.) from structure and manifests — not from a hand-written template list.
4. **Generate docs** — Produces:
   - An **Overview** — stack, architecture, entry points, and concepts a new developer needs first.
   - **One Markdown doc per detected component** — exports, dependencies, and how the piece fits the whole.
5. **Chat** — Project-scoped AI chat answers from the generated docs and cites file paths. If something is not in the docs, the chat should say so rather than invent APIs.
6. **Edit & export** — Docs are editable Markdown in the product. You own the output; export standard Markdown anytime.
7. **Re-index** — Re-run indexing after code changes (dashboard sync / CLI ship). Auto-sync on git push is available for connected repos when configured.

## What you get per project

| Artifact / tool | Description |
|-----------------|-------------|
| Docs | Overview plus one Markdown doc per detected component — editable in the product |
| Architecture | Interactive diagram / structure view derived from the index |
| Dockerfile | Generated Dockerfile tailored to the detected stack |
| Audit | Production-readiness checklist against the indexed codebase |
| Insights (Tools) | Repo insights suite (overview, onboarding estimate, docs gaps, deps, dead code, and more) |
| Chat | Project-scoped AI chat grounded in the docs with file-path citations |
| Updates | Re-index / sync history — re-run after code changes; auto-sync on git push when configured |
| Public docs (optional) | Opt-in public docs URL for OSS / demo projects |

## Import sources

| Source | Notes |
|--------|-------|
| GitHub OAuth | Public and private repos the account can access |
| GitLab OAuth | Public and private repos the account can access |
| ZIP upload | Browser upload of an archive |
| CLI | `shipdocs ship` from a local working directory (respects `.gitignore`) |

## Who it is for

- Solo developers who need current docs without writing a wiki
- Teams onboarding engineers onto private monorepos
- Anyone comparing private-repo documentation tools to public-only options like Google CodeWiki

## Related

- [CLI / getting started](https://shipdocs.sh/docs/cli.md)
- [Security & encryption](https://shipdocs.sh/docs/security.md)
- [Google CodeWiki alternative](https://shipdocs.sh/google-code-wiki-alternative.md)
- [Live showcase](https://shipdocs.sh/showcase)
