{"id":18174517,"url":"https://github.com/SuperCuber/devloop","last_synced_at":"2025-04-01T15:31:41.934Z","repository":{"id":26350640,"uuid":"108447368","full_name":"SuperCuber/devloop","owner":"SuperCuber","description":"A tool to help with repetitive commands during development","archived":false,"fork":false,"pushed_at":"2022-06-08T20:59:44.000Z","size":34,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T02:53:34.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuperCuber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-26T18:00:46.000Z","updated_at":"2024-10-02T21:31:13.000Z","dependencies_parsed_at":"2022-09-16T19:01:32.161Z","dependency_job_id":null,"html_url":"https://github.com/SuperCuber/devloop","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCuber%2Fdevloop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCuber%2Fdevloop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCuber%2Fdevloop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperCuber%2Fdevloop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperCuber","download_url":"https://codeload.github.com/SuperCuber/devloop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246662363,"owners_count":20813737,"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":[],"created_at":"2024-11-02T16:03:26.367Z","updated_at":"2025-04-01T15:31:41.915Z","avatar_url":"https://github.com/SuperCuber.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Description\n\nEver found yourself pressing the up arrow and enter 10 times a minute?\nEver found yourself typing the same commands again and again?\n\nNo worries! Devloop to the rescue!\n\n# Usage\nI've created this tool to allow a very simple workflow:\nOpen a terminal/editor for editing code, another terminal for devloop.\n\nDevloop allows you to recompile (and test, and whatever you want!) with just pressing Enter,\nand also save a lot of shortcuts to do other useful and repetitive commands.\n\nOriginally it was a [shell script](https://github.com/SuperCuber/dotfiles/blob/62437b10abbfc509421b4ff4b4122547d8b263e8/scripts/devloop) but the configuration file being a shell script bothered me, so I made it a rust program!\n\n# Installation\nDevloop is on crates.io, so just `cargo install devloop` after installing Rust.\nAlternatively, put the binary from the Releases page somewhere in your $PATH (or %PATH%)\n\n# Configuration\nConfiguration is in a `Devloop.toml` (by default) file in the current directory.\n\nIt is a toml file. Here's an example (from this repository's `Devloop.toml`), along with explanations:\n\n```toml\n# This will be printed when you press q to quit\nreminders = \"Don't forget to format!\"\n\n# The `[[name]]` syntax in toml means that you're defining an array of tables.\n# So this next section is equivalent to:\n#\n# tasks = [{ name = \"Clippy\", command = \"cargo clippy -q\" }]\n#\n# Each `[[section]]` will define one *element* in the array.\n\n# Each task will be run in order every time you press Enter.\n[[tasks]]\nname = \"Clippy\"\ncommand = \"cargo clippy -q\"\n\n# Actions is a table where the key is the shortcut (in this case \"f\")\n[actions.f]\nname = \"Format\"\ncommand = \"cargo fmt\"\n\n[actions.t]\nname = \"Test\"\ncommand = \"cargo test -q\"\n\n[actions.b]\nname = \"Benchmark\"\ncommand = \"cargo bench -q\"\npause = true  # devloop will wait for another Enter before re-running [[tasks]]\n\n[actions.R]\nname = \"Build release\"\ncommand = \"cargo build --release\"\n\n[actions.r]\nname = \"Run\"\ncommand = \"cargo run\"  # Another good candidate for pause=true\n\n[actions.c]\nname = \"Clean\"\ncommand = \"cargo clean\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSuperCuber%2Fdevloop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSuperCuber%2Fdevloop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSuperCuber%2Fdevloop/lists"}