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
- Python 3.11+
- GitHub Copilot CLI — installed and authenticated (installation guide)
- Confluence API token — for pushing pages (create one here)
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):
- Environment variables:
CONFLUENCE_USER,CONFLUENCE_TOKEN - System keychain (via
tsu auth set) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tsu_cli-0.1.1.tar.gz.
File metadata
- Download URL: tsu_cli-0.1.1.tar.gz
- Upload date:
- Size: 36.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cb99f2176b0c8c68c3e92f5fa0542a5b3c1d45f15b50a592391c8f9ca64ca22
|
|
| MD5 |
eb67d5e0cf73768a14c471d8820e273d
|
|
| BLAKE2b-256 |
41a861af9e9261ea92d67ff637dfdfc3ff8f995769234cd1787c3db6a688d44f
|
File details
Details for the file tsu_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: tsu_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c23365d3cdcaa0f6abe0d3fe5bfce4e143259c7659bea924fd417bc37da45994
|
|
| MD5 |
36e9c50099ff77a74c2974b43e8f5572
|
|
| BLAKE2b-256 |
0c37c62307f5f552dfeeb5ff28a1f3b6cedc001e6cf193add8b8928c905acb3d
|