oneport-docgen
Enterprise documentation for any codebase — generated locally, never uploaded.
Point it at a repo and it produces a formal, sign-off-ready Technical Design
Document as a branded PDF, an editable Word (.docx) file, and
Markdown — with the full apparatus enterprises expect: cover page,
document-control table, revision history, classification banner, numbered
sections and an approval/sign-off page.
It reuses oneport-context's local
repo index (file → module → repo understanding), so your code never leaves the
machine. Runs on your own model key (Google Gemini free tier) or fully heuristic —
free and offline.
Quickstart
pip install oneport-docgen
oneport-docgen generate ./my-repo
You'll be asked for the title, version, classification and sign-off names (authors
are pre-filled from git). Out come three files in ./my-repo/.docgen/:
my-repo-technical-design-document.pdf # branded, ready to hand to an exec/auditor
my-repo-technical-design-document.docx # editable in Word / SharePoint
my-repo-technical-design-document.md # for the wiki / repo
Set a key for richer prose (optional):
export GEMINI_API_KEY=… # free key at aistudio.google.com/apikey
Without a key it still generates a complete, accurate document — module breakdown, tech stack and file inventory come straight from the code; only the narrative sections get shorter.
Commands
| Command | What it does |
|---|---|
generate ./repo |
Build the document (PDF + DOCX + Markdown) |
init |
Scaffold a docgen.toml branding file |
formats |
List output formats and document types |
Document types (--type)
| Type | Produces |
|---|---|
tdd (default) |
Technical Design Document — architecture, modules, data flow, setup |
sdd |
Software Design Description (same engine, formal title) |
onboarding |
Engineering Onboarding Guide |
sbom |
Software Bill of Materials — deterministic dependency + license inventory with risk findings |
oneport-docgen generate ./repo --type sbom # audit-grade dependency/license report
The SBOM is generated deterministically from your manifests (requirements.txt,
pyproject.toml, package.json, go.mod, Cargo.toml, Gemfile, composer.json,
pom.xml, Gradle) — no AI, fully auditable. For Python it resolves real versions
and licenses from installed metadata, and flags unpinned versions, unknown licenses and
copyleft components.
Useful flags
oneport-docgen generate ./repo \
--format pdf,docx \ # pick outputs (pdf, docx, md)
--scope module:services/billing \ # document just one module
--classification Internal \
--version 2.1 --status "In Review" \
--author "Ada Lovelace" --approver "Grace Hopper" \
-y # non-interactive (for CI)
Branding
oneport-docgen init # writes docgen.toml
[brand]
company = "Acme Corporation"
logo = "assets/logo.png"
primary = "#0F172A"
accent = "#4F46E5"
footer = "Confidential — internal distribution only"
Every generated document then carries your company name, logo and colours.
Where it's going
- Phase 1 — formal deliverable (shipped): branded PDF + editable DOCX + Markdown.
- Phase 2 — compliance doctypes (in progress):
--type sbomshipped; threat model and ADR log next. - Phase 3 — living docs:
oneport-docgen checkfails CI when the code and the document drift apart (every claim is provenance-linked to the source).
License
Apache-2.0
Metadata
Release files for oneport-docgen 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| oneport_docgen-0.1.0.tar.gz | 29.5 kB | Without provenance | Details for oneport_docgen-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| oneport_docgen-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for oneport_docgen-0.1.0-py3-none-any.whl |
Total release size: 66.4 kB
Release files / oneport_docgen-0.1.0.tar.gz
| Download URL | oneport_docgen-0.1.0.tar.gz |
|---|---|
| Size | 29.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
685ab039b6a01283898c9f24cbb3fc7102f17ec76edaf8f6bc9534702c29eaf6
|
|
BLAKE2b-256 checksum How to use checksums |
5b0b2ad951d58f9e47f68248aaf01faa1d878f307077e5ff0b94afb065b6b43f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Release files / oneport_docgen-0.1.0-py3-none-any.whl
| Download URL | oneport_docgen-0.1.0-py3-none-any.whl |
|---|---|
| Size | 36.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f4bf326a80ab5c812aeb3a5f48146569716f424bc572b94639214b36cacb4b9
|
|
BLAKE2b-256 checksum How to use checksums |
9d02b6bdc818cb9ade7008c128df5af694b792ced46458a4404292c58f7d59a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Security for oneport-docgen 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.