{"id":46811743,"url":"https://github.com/tagoro9/fotingo","last_synced_at":"2026-04-01T20:11:47.104Z","repository":{"id":17315684,"uuid":"81514584","full_name":"tagoro9/fotingo","owner":"tagoro9","description":"A CLI to ease the interaction between git, github and jira when working on tasks.","archived":false,"fork":false,"pushed_at":"2026-03-28T16:02:32.000Z","size":4103,"stargazers_count":65,"open_issues_count":13,"forks_count":20,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T17:50:26.346Z","etag":null,"topics":["git","github","jira"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tagoro9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-02-10T01:51:26.000Z","updated_at":"2026-03-27T20:22:42.000Z","dependencies_parsed_at":"2024-03-22T01:37:44.088Z","dependency_job_id":"f61c152d-6a75-4b53-842a-b2f0d6f3f61d","html_url":"https://github.com/tagoro9/fotingo","commit_stats":{"total_commits":836,"total_committers":13,"mean_commits":64.3076923076923,"dds":0.5610047846889952,"last_synced_commit":"8e8fed52763effdc72a08e06cf16ba106f1448ac"},"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"purl":"pkg:github/tagoro9/fotingo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagoro9%2Ffotingo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagoro9%2Ffotingo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagoro9%2Ffotingo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagoro9%2Ffotingo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tagoro9","download_url":"https://codeload.github.com/tagoro9/fotingo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagoro9%2Ffotingo/sbom","scorecard":{"id":865653,"data":{"date":"2025-08-18","repo":{"name":"github.com/tagoro9/fotingo","commit":"153f13ea68f661f1646efcb90c42eccd24c93cab"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":2.8,"checks":[{"name":"Code-Review","score":3,"reason":"Found 3/9 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tagoro9/fotingo/release.yml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v4.7.5 not signed: https://api.github.com/repos/tagoro9/fotingo/releases/201769664","Warn: release artifact v4.7.4 not signed: https://api.github.com/repos/tagoro9/fotingo/releases/201762855","Warn: release artifact v4.7.2 not signed: https://api.github.com/repos/tagoro9/fotingo/releases/133597591","Warn: release artifact v4.7.1 not signed: https://api.github.com/repos/tagoro9/fotingo/releases/118598998","Warn: release artifact v4.7.0 not signed: https://api.github.com/repos/tagoro9/fotingo/releases/109709827","Warn: release artifact v4.7.5 does not have provenance: https://api.github.com/repos/tagoro9/fotingo/releases/201769664","Warn: release artifact v4.7.4 does not have provenance: https://api.github.com/repos/tagoro9/fotingo/releases/201762855","Warn: release artifact v4.7.2 does not have provenance: https://api.github.com/repos/tagoro9/fotingo/releases/133597591","Warn: release artifact v4.7.1 does not have provenance: https://api.github.com/repos/tagoro9/fotingo/releases/118598998","Warn: release artifact v4.7.0 does not have provenance: https://api.github.com/repos/tagoro9/fotingo/releases/109709827"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 24 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"24 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-9w5j-4mwv-2wj8","Warn: Project is vulnerable to: GHSA-8f93-rv4p-x4jw","Warn: Project is vulnerable to: GHSA-jqv5-7xpx-qj74","Warn: Project is vulnerable to: GHSA-pq67-2wwv-3xjx","Warn: Project is vulnerable to: GHSA-8cj5-5rvv-wf4v","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc","Warn: Project is vulnerable to: GHSA-f9xv-q969-pqx4"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T02:37:54.862Z","repository_id":17315684,"created_at":"2025-08-24T02:37:54.862Z","updated_at":"2025-08-24T02:37:54.862Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","github","jira"],"created_at":"2026-03-10T08:06:19.215Z","updated_at":"2026-04-01T20:11:47.092Z","avatar_url":"https://github.com/tagoro9.png","language":"Go","readme":"# Fotingo\n\nA CLI to streamline workflows across Git, GitHub, and Jira.\n\n[![Go Version](https://img.shields.io/badge/Go-1.22+-00ADD8?logo=go)](https://go.dev)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n## Overview\n\nFotingo helps you:\n\n- Start working on Jira issues with consistent branch naming\n- Create pull requests with issue context and metadata\n- Open related URLs for branch, issue, PR, and repository\n- Inspect local branch/issue context as JSON\n- Automate command flows with machine-readable output\n\n## Installation\n\n### From source\n\n```bash\ngo install github.com/tagoro9/fotingo@latest\n```\n\n### From binary\n\nDownload the latest release from the [releases page](https://github.com/tagoro9/fotingo/releases).\n\n### Homebrew\n\n```bash\nbrew tap tagoro9/tap\nbrew install fotingo\nxattr -dr com.apple.quarantine /opt/homebrew/bin/fotingo\n```\n\nOn 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.\n\n## Quick Start\n\nPrerequisites:\n\n1. GitHub authentication:\n   - Fotingo GitHub App installed in the orgs you want to access (it can be installed during the auth flow), or\n   - A classic GitHub PAT from `https://github.com/settings/tokens` with `repo` scope\n2. Jira authentication:\n   - Atlassian API token from `https://id.atlassian.com/manage-profile/security/api-tokens`, or\n   - OAuth only in internal binaries compiled with Jira OAuth client credentials\n3. Jira account email\n4. Jira server URL (for example `https://yourcompany.atlassian.net`)\n\nJira OAuth client credentials include a client secret and are intended for internal builds only.\nCommitting or broadly distributing binaries with embedded Jira OAuth client secret is not considered safe.\n\nBasic flow:\n\n```bash\n# Authenticate services\nfotingo login\n\n# Start work on an issue\nfotingo start PROJ-123\n\n# Create a pull request for current branch\nfotingo review -y\n\n# Open the PR in browser\nfotingo open pr\n```\n\nFor full authentication setup details, see [docs/authentication.md](./docs/authentication.md).\n\n## Telemetry\n\nFotingo emits anonymous product telemetry to understand command usage, latency, and failures.\n\n- Enabled by default (`telemetry.enabled: true`)\n- Opt out anytime:\n\n```bash\nfotingo config set telemetry.enabled false\n```\n\n- Telemetry never sends raw tokens, freeform descriptions/titles, branch names, issue IDs, or raw API URLs.\n\nSee [docs/telemetry.md](./docs/telemetry.md) for event categories and privacy constraints.\n\n## Documentation\n\nUser and maintainer docs live in [`docs/`](./docs/README.md):\n\n- [Breaking Changes v5](./docs/breaking-changes/v5.md)\n- [Authentication](./docs/authentication.md)\n- [CLI Reference](./docs/cli-reference.md)\n- [Configuration](./docs/configuration.md)\n- [Telemetry](./docs/telemetry.md)\n- [Automation and JSON](./docs/automation-and-json.md)\n- [Shell Completion](./docs/shell-completion.md)\n- [Exit Codes](./docs/exit-codes.md)\n- [Release Operations](./docs/release-operations.md)\n- [Homebrew Tap Setup](./docs/homebrew-tap-setup.md)\n\n## Why Fotingo?\n\nJira-backed development often repeats the same sequence:\n\n1. Pick/assign an issue\n2. Move it to `In Progress`\n3. Create a correctly named branch\n4. Implement and commit\n5. Open and enrich a PR\n6. Move issue to `In Review` and add PR link\n\nFotingo turns this into a small set of consistent commands.\n\n## What is a Fotingo?\n\nIn 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.\n\n## Contributing\n\nContributions are welcome. Open an issue or submit a pull request.\n\n## License\n\nMIT License. See [LICENSE](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftagoro9%2Ffotingo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftagoro9%2Ffotingo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftagoro9%2Ffotingo/lists"}