Skip to main content

Talks in Git → Specs - Git-based chat management system for AI-assisted software development

Project description

Tigs Python Package

Tigs (Talks in Git → Specs) is a CLI tool for storing and managing LLM chats in Git associated with code commits.

Installation

pip install tigs

Or using uv:

uv pip install tigs

Quick Start

Tigs provides two main interactive TUI (Terminal User Interface) commands:

tigs store - Select and Store Chats

Launch an interactive interface to select commits and messages to associate with code commits:

tigs store

The store interface features:

  • Three-pane layout: Commits (left), Messages (center), Logs (right)
  • Keyboard navigation:
    • j/k or ↑/↓ - Navigate up/down
    • Space - Toggle selection
    • v - Visual selection mode
    • a - Select all
    • c - Clear selections
    • Tab - Switch between panes
    • s - Store selected items as a chat
    • q - Quit

tigs view - Browse and Read Chats

Explore existing chats associated with your commits:

tigs view

The view interface displays:

  • Three-column layout: Commits list, Commit details, Chat content
  • Navigation: Browse through commits and view associated chats
  • Read-only mode: Safely explore without modifying data

Syncing with Remote Repositories

Share your chats across team members using Git's native push/pull:

# Push chats to remote repository
tigs push

# Fetch chats from remote repository
tigs fetch

The push command validates that all commits with chats are pushed to the remote before pushing the notes, preventing orphaned references.

Low-Level Commands

For automation and scripting, Tigs provides direct CLI commands:

# Add chat to current commit (HEAD)
tigs add-chat -m "Chat content in YAML format"

# Add chat to specific commit
tigs add-chat abc123 -m "Chat content"

# Show chat for current commit
tigs show-chat

# Show chat for specific commit
tigs show-chat abc123

# List all commits that have chats
tigs list-chats

# Remove chat from commit
tigs remove-chat abc123

Interactive Editor

If you don't provide the -m flag, tigs opens your default editor:

# Opens editor for chat content
tigs add-chat

Chat Format

Chats are stored in YAML format following the tigs.chat/v1 schema:

schema: tigs.chat/v1
messages:
- role: user
  content: What does this commit implement?
- role: assistant
  content: This commit adds authentication using JWT tokens.

Git Integration

Tigs stores chats as Git notes in refs/notes/chats, which means:

  • Version controlled: Chats are part of Git history
  • Distributed: Push/pull chats like any Git data
  • Non-invasive: Doesn't modify commits or require rebasing
  • Compatible: Works with any Git workflow
  • Efficient: Git's fanout structure handles large scale

You can also use standard Git commands:

# View notes directly
git notes --ref=refs/notes/chats show <commit>

# Push notes manually
git push origin refs/notes/chats

Use Cases

  • Code Review: Attach review discussions with LLM to specific commits
  • Documentation: Add design & implementation notes and decisions
  • Learning: Annotate commits with explanations for team members
  • AI Assistance: Store AI conversations about code changes
  • Debugging: Keep notes about bug investigations tied to commits

Requirements

  • Python 3.8+
  • Git 2.17+
  • Terminal with UTF-8 support
  • Unix-like system (Linux, macOS, WSL)

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

tigs-0.1.1.tar.gz (404.2 kB view details)

Uploaded Source

Built Distribution

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

tigs-0.1.1-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file tigs-0.1.1.tar.gz.

File metadata

  • Download URL: tigs-0.1.1.tar.gz
  • Upload date:
  • Size: 404.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for tigs-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cb473a6f2f4a54c5b2371bdd3e834e582e54be314de6bae26fe835957a694edc
MD5 692e9e6dcc3634d91587ca6673977454
BLAKE2b-256 69fabfb9f6f9744eb1c7ca9dcc6731bee5ebc3c44d88c686a4032b1c38c6887b

See more details on using hashes here.

File details

Details for the file tigs-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tigs-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 43.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for tigs-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9451b300d9dae6acb9b232cdb378e7971374309339bea82d2b47cfd729519cab
MD5 839e8cd8ae40cbea494598b49161adad
BLAKE2b-256 c055f0d63b4b8b2ff3d4fc518f4d649e93ae15adfd9573ae4e132dbed9ed43b8

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