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.3.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.3-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tsu_cli-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 59b2c1a502c6c91e7a39db3b25c99d7ea047501c98e944452f7edead50ad9047
MD5 2ae16e7d619fd4dff385addcb7ff89fd
BLAKE2b-256 258edad9a5f780bc9538225d5052dced0b66839ff2ee27f77894722a32442165

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tsu_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6125384cacf73e96bc2db09fcab0d0e474ec7c03e3335a6f8c6d1ede30d5051a
MD5 dd246191446669be753673192f61d375
BLAKE2b-256 9d806a27a313888f3cf47f1db231568d4850daf422e6961a2fe88be37910f3ca

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