tix

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2025 License: MIT Imports: 4 Imported by: 0

README

Tix

A CLI tool for creating tickets and branches in Git repositories, with support for both GitHub and GitLab.

Features

  • Create tickets in GitHub or GitLab
  • Automatically create and checkout branches
  • Create draft merge requests/pull requests
  • Support for Git worktrees
  • Interactive repository selection
  • Configurable default labels
  • YAML configuration

Installation

go install github.com/tedkulp/tix@latest

Configuration

Create a configuration file at ~/.tix.yml with the following structure:

repositories:
  - name: my-project
    github_repo: username/repo
    directory: ~/src/my-project
    default_labels: bug,enhancement
  - name: another-project
    gitlab_repo: group/project
    directory: ~/src/another-project
    default_labels: feature
    worktree:
      enabled: true
      default_branch: main

Environment Variables

  • GITHUB_TOKEN: GitHub API token (required for GitHub repositories)
  • GITLAB_TOKEN: GitLab API token (required for GitLab repositories)

Usage

# Create a new ticket and branch
tix create

# Create a new ticket with a specific title
tix create --title "Add new feature"

# Create a merge request/pull request for the current branch
tix mr

License

MIT

Releasing

This project uses GoReleaser to handle releases. To release a new version:

  1. Create and push a new tag with the version (e.g., v0.1.0):

    git tag -a v0.1.0 -m "Release v0.1.0"
    git push origin v0.1.0
    
  2. The GitHub Actions workflow will automatically build and release the binaries to GitHub Releases.

Homebrew

Releases are automatically published to the tedkulp/homebrew-tap repository. To install via Homebrew:

brew tap tedkulp/tap
brew install tix
Manual Release

If you need to create a release manually:

  1. Install GoReleaser: brew install goreleaser/tap/goreleaser
  2. Set your GitHub token: export GITHUB_TOKEN=your_token
  3. Run GoReleaser: goreleaser release --clean

For local testing, you can run: goreleaser release --snapshot --clean

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
git

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL