Skip to main content

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 sbom shipped; threat model and ADR log next.
  • Phase 3 — living docs: oneport-docgen check fails 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)

Source distribution for oneport-docgen 0.1.0
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)

Table of built distributions (wheels) for oneport-docgen 0.1.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page