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/kor↑/↓- Navigate up/downSpace- Toggle selectionv- Visual selection modea- Select allc- Clear selectionsTab- Switch between paness- Store selected items as a chatq- 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb473a6f2f4a54c5b2371bdd3e834e582e54be314de6bae26fe835957a694edc
|
|
| MD5 |
692e9e6dcc3634d91587ca6673977454
|
|
| BLAKE2b-256 |
69fabfb9f6f9744eb1c7ca9dcc6731bee5ebc3c44d88c686a4032b1c38c6887b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9451b300d9dae6acb9b232cdb378e7971374309339bea82d2b47cfd729519cab
|
|
| MD5 |
839e8cd8ae40cbea494598b49161adad
|
|
| BLAKE2b-256 |
c055f0d63b4b8b2ff3d4fc518f4d649e93ae15adfd9573ae4e132dbed9ed43b8
|