{"id":22808021,"url":"https://github.com/nwiizo/tfocus","last_synced_at":"2025-04-06T03:05:57.504Z","repository":{"id":264843127,"uuid":"894446751","full_name":"nwiizo/tfocus","owner":"nwiizo","description":"tfocus is a super interactive tool for selecting and executing Terraform plan/apply on specific resources. Think of it as an \"emergency tool\" - not for everyday use.","archived":false,"fork":false,"pushed_at":"2025-01-19T01:41:04.000Z","size":618,"stargazers_count":56,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T16:51:59.400Z","etag":null,"topics":["devops","opentofu","rust","rust-lang","terraform"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/tfocus","language":"Rust","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/nwiizo.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}},"created_at":"2024-11-26T11:21:52.000Z","updated_at":"2025-03-20T21:22:47.000Z","dependencies_parsed_at":"2025-02-27T12:24:56.125Z","dependency_job_id":"346b8ed8-0ba6-4ed6-992f-c6fe2226d688","html_url":"https://github.com/nwiizo/tfocus","commit_stats":null,"previous_names":["nwiizo/tfocus"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwiizo%2Ftfocus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwiizo%2Ftfocus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwiizo%2Ftfocus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nwiizo%2Ftfocus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nwiizo","download_url":"https://codeload.github.com/nwiizo/tfocus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427005,"owners_count":20937200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["devops","opentofu","rust","rust-lang","terraform"],"created_at":"2024-12-12T11:07:37.553Z","updated_at":"2025-04-06T03:05:57.487Z","avatar_url":"https://github.com/nwiizo.png","language":"Rust","readme":"# 🎯 tfocus\n\n\u003e ⚠️ **WARNING**: Resource targeting should be avoided unless absolutely necessary!\n\n## What's this? 🤔\n\ntfocus is a **super interactive** tool for selecting and executing Terraform plan/apply on specific resources.\nThink of it as an \"emergency tool\" - not for everyday use.\n\n![tfocus demo](.github/tfocus_01.gif)\n\n## Features 🌟\n\n- 🔍 Peco-like fuzzy finder for Terraform resources\n- ⚡ Lightning-fast resource selection\n- 🎨 Colorful TUI (Terminal User Interface)\n- 🎹 Vim-like keybindings\n- 📁 Recursive file scanning\n\n## Installation 🛠️\n\ninstall from crates.io\n\n```bash\ncargo install tfocus\n```\n\ninstall via [brew](https://brew.sh/)\n\n```bash\nbrew install tfocus\n```\n\ninstall from github\n```bash\ncargo install --git https://github.com/nwiizo/tfocus\n```\n\n## Usage 🎮\n\n```bash\ncd your-terraform-project\ntfocus\n```\n\n1. 🔍 Launch the fuzzy-search UI\n2. ⌨️ Select resources using vim-like keybindings\n3. 🎯 Execute plan/apply on selected resources\n\n## Keybindings 🎹\n\n- `↑`/`k`: Move up\n- `↓`/`j`: Move down\n- `/`: Incremental search\n- `Enter`: Select\n- `Esc`/`Ctrl+C`: Cancel\n\n## ⚠️ Important Warning ⚠️\n\nUsing terraform resource targeting comes with significant risks:\n\n1.  Potential disruption of the Terraform resource graph\n2. 🎲 Risk of state inconsistencies\n3. 🧩 Possible oversight of critical dependencies\n4. 🤖 Deviation from standard Terraform workflow\n\n## When to Use 🎯\n\nOnly use this tool in specific circumstances:\n- 🚑 Emergency troubleshooting\n- 🔧 Development debugging\n- 🧪 Testing environment verification\n- 📊 Impact assessment of large-scale changes\n\nFor regular operations, always use full `terraform plan` and `apply`!\n\n## Appropriate Use Cases 🎭\n\nYou might consider using tfocus when:\n- 🔥 Working with large Terraform codebases where you need to verify specific changes\n- 🐌 Full plan execution takes too long during development\n- 🔍 Emergency inspection of specific resource states\n- 💣 Staged application of changes in complex infrastructure\n\n**Remember!** Standard `terraform plan` and `apply` are the best practices for normal operations.\n\n## Development Status 🚧\n\nThis is an experimental tool. Use at your own risk!\n\n## Example 📺\n\n```bash\n$ tfocus\nQUERY\u003e\n\n▶    1 [File]     main.tf\n     2 [Module]   vpc\n     3 [Resource] aws_vpc.main\n\n[↑/k]Up [↓/j]Down [Enter]Select [Esc/Ctrl+C]Cancel\n```\n\n## Contributing 🤝\n\nIssues and PRs are welcome!\nPlease help make this tool safer and more useful.\n\n## License 📜\n\nMIT\n\n## Final Note 🎬\n\nThink of this tool as a \"fire exit\" -\nIt's there when you need it, but you hope you never have to use it! 😅\n\n---\nmade with 🦀 and ❤️ by nwiizo\n","funding_links":[],"categories":["Applications","Tools","Recently Updated"],"sub_categories":["System tools","Community providers","[Who Wants to Be a Millionare](https://www.boardgamecapital.com/who-wants-to-be-a-millionaire-rules.htm)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwiizo%2Ftfocus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnwiizo%2Ftfocus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnwiizo%2Ftfocus/lists"}