https://github.com/tagoro9/fotingo
A CLI to ease the interaction between git, github and jira when working on tasks.
https://github.com/tagoro9/fotingo
git github jira
Last synced: 1 day ago
JSON representation
A CLI to ease the interaction between git, github and jira when working on tasks.
- Host: GitHub
- URL: https://github.com/tagoro9/fotingo
- Owner: tagoro9
- License: mit
- Created: 2017-02-10T01:51:26.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2026-03-28T16:02:32.000Z (5 days ago)
- Last Synced: 2026-03-28T17:50:26.346Z (5 days ago)
- Topics: git, github, jira
- Language: Go
- Homepage:
- Size: 3.91 MB
- Stars: 65
- Watchers: 1
- Forks: 20
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fotingo
A CLI to streamline workflows across Git, GitHub, and Jira.
[](https://go.dev)
[](LICENSE)
## Overview
Fotingo helps you:
- Start working on Jira issues with consistent branch naming
- Create pull requests with issue context and metadata
- Open related URLs for branch, issue, PR, and repository
- Inspect local branch/issue context as JSON
- Automate command flows with machine-readable output
## Installation
### From source
```bash
go install github.com/tagoro9/fotingo@latest
```
### From binary
Download the latest release from the [releases page](https://github.com/tagoro9/fotingo/releases).
### Homebrew
```bash
brew tap tagoro9/tap
brew install fotingo
xattr -dr com.apple.quarantine /opt/homebrew/bin/fotingo
```
On macOS, Homebrew can preserve the `com.apple.quarantine` attribute on downloaded binaries. Because `fotingo` is a standalone CLI binary distributed outside the App Store, Gatekeeper may block execution until that quarantine attribute is removed. Running `xattr -dr com.apple.quarantine /opt/homebrew/bin/fotingo` clears the attribute so the binary can run normally.
## Quick Start
Prerequisites:
1. GitHub authentication:
- Fotingo GitHub App installed in the orgs you want to access (it can be installed during the auth flow), or
- A classic GitHub PAT from `https://github.com/settings/tokens` with `repo` scope
2. Jira authentication:
- Atlassian API token from `https://id.atlassian.com/manage-profile/security/api-tokens`, or
- OAuth only in internal binaries compiled with Jira OAuth client credentials
3. Jira account email
4. Jira server URL (for example `https://yourcompany.atlassian.net`)
Jira OAuth client credentials include a client secret and are intended for internal builds only.
Committing or broadly distributing binaries with embedded Jira OAuth client secret is not considered safe.
Basic flow:
```bash
# Authenticate services
fotingo login
# Start work on an issue
fotingo start PROJ-123
# Create a pull request for current branch
fotingo review -y
# Open the PR in browser
fotingo open pr
```
For full authentication setup details, see [docs/authentication.md](./docs/authentication.md).
## Telemetry
Fotingo emits anonymous product telemetry to understand command usage, latency, and failures.
- Enabled by default (`telemetry.enabled: true`)
- Opt out anytime:
```bash
fotingo config set telemetry.enabled false
```
- Telemetry never sends raw tokens, freeform descriptions/titles, branch names, issue IDs, or raw API URLs.
See [docs/telemetry.md](./docs/telemetry.md) for event categories and privacy constraints.
## Documentation
User and maintainer docs live in [`docs/`](./docs/README.md):
- [Breaking Changes v5](./docs/breaking-changes/v5.md)
- [Authentication](./docs/authentication.md)
- [CLI Reference](./docs/cli-reference.md)
- [Configuration](./docs/configuration.md)
- [Telemetry](./docs/telemetry.md)
- [Automation and JSON](./docs/automation-and-json.md)
- [Shell Completion](./docs/shell-completion.md)
- [Exit Codes](./docs/exit-codes.md)
- [Release Operations](./docs/release-operations.md)
- [Homebrew Tap Setup](./docs/homebrew-tap-setup.md)
## Why Fotingo?
Jira-backed development often repeats the same sequence:
1. Pick/assign an issue
2. Move it to `In Progress`
3. Create a correctly named branch
4. Implement and commit
5. Open and enrich a PR
6. Move issue to `In Review` and add PR link
Fotingo turns this into a small set of consistent commands.
## What is a Fotingo?
In Canary Islands Spanish, "fotingo" means an old, rickety car. One origin story links it to Ford's "foot 'n go" phrase from the Model T era. The name fits the CLI goal: minimal friction to get moving.
## Contributing
Contributions are welcome. Open an issue or submit a pull request.
## License
MIT License. See [LICENSE](LICENSE).