Skip to main content

Generate project tech documentation and push to Confluence using GitHub Copilot SDK

Project description

tsu-cli

Generate project tech documentation using GitHub Copilot SDK and push to Confluence.

Prerequisites

Installation

pip install tsu-cli

Development install

git clone https://github.com/vivekrana2012/tsu-cli.git
cd tsu-cli
pip install -e ".[dev]"

Quick Start

# 1. Initialize in your project directory
cd /path/to/your/project
tsu init

# 2. Generate tech documentation
tsu generate

# 3. Push to Confluence
tsu push

Commands

tsu init

Interactive setup — creates .tsu/ directory with configuration files.

If you provide a parent page URL and credentials, a blank placeholder page is created on Confluence during init. The page_id is saved in .tsu/confluence.json so that all future tsu push runs (including from CI/CD pipelines like Jenkins) update the same page instead of creating duplicates. Re-running tsu init preserves the existing page_id.

tsu init
tsu init --dir /path/to/project

tsu generate

Analyze the project using GitHub Copilot and generate .tsu/document.md.

If a Confluence page already exists, the current page content is pulled and sent to the LLM as reference — preserving any manually added content while updating sections based on the latest codebase.

tsu generate
tsu generate --model claude-sonnet-4.5
tsu generate --output custom-doc.md
tsu generate --extra "Focus on the authentication flow"
tsu generate --offline    # skip Confluence sync, generate fresh

tsu models

List available LLM models from the Copilot SDK.

tsu models

tsu push

Upload .tsu/document.md to Confluence. Creates a new page on first push, updates the existing page on subsequent pushes.

tsu push

tsu help

Show a detailed guide covering the full workflow, all commands, flags, authentication, prompt customization, and examples.

tsu help

tsu auth

Manage Confluence credentials (stored in system keychain, never on disk).

tsu auth set      # Store email + token in keychain
tsu auth status   # Check credential configuration
tsu auth clear    # Remove stored credentials

Configuration

All config lives in .tsu/ (safe to commit — no secrets):

File Purpose
config.json Tool settings (model, output file)
confluence.json Confluence page target
generate.md Prompt template (editable)
document.md Generated documentation

Confluence Credentials

Credentials are resolved in this order (never stored in config files):

  1. Environment variables: CONFLUENCE_USER, CONFLUENCE_TOKEN
  2. System keychain (via tsu auth set)
  3. Interactive prompt

Use environment variables for CI/CD pipelines.

Customizing the Prompt

tsu init copies the default prompt template to .tsu/generate.md. Edit it freely to change the document structure, sections, or instructions — your changes are used on every subsequent tsu generate run.

The template uses Jinja2 syntax. The variable {{ additional_instructions }} is populated by the --extra flag.

Re-running tsu init will not overwrite an existing .tsu/generate.md, so your edits are safe.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsu_cli-0.1.4.tar.gz (38.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tsu_cli-0.1.4-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file tsu_cli-0.1.4.tar.gz.

File metadata

  • Download URL: tsu_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for tsu_cli-0.1.4.tar.gz
Algorithm Hash digest
SHA256 c9703e802b1e0c66fd70c41679e2da747db0cab56156a28eca313fe2cb1e1c15
MD5 a384da1d10a73123104f69d8c56765e1
BLAKE2b-256 0a8ec8f7506c566af462a1994d85738d4481b0afc406e7a77dfb3985b48052f9

See more details on using hashes here.

File details

Details for the file tsu_cli-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: tsu_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for tsu_cli-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cc07a2e8ced152ea8738eeeef54f6f75a54a8db0eed73512a2861ee55e00b59f
MD5 fced5520b5aee2ed543c681417ae8291
BLAKE2b-256 2febd2143d6e932ba9c65e6fcca8494d85e5fb99c293495501de2f0d68d1a0c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page