{"id":15171863,"url":"https://github.com/tanema/grind","last_synced_at":"2025-10-26T00:30:56.196Z","repository":{"id":209732552,"uuid":"617694268","full_name":"tanema/grind","owner":"tanema","description":"Fast, reproducible, and concurrent development environment and process manager","archived":false,"fork":false,"pushed_at":"2023-12-06T15:53:54.000Z","size":56,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T12:51:22.647Z","etag":null,"topics":["foreman","nix","nixos","taskfile"],"latest_commit_sha":null,"homepage":"","language":"Go","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/tanema.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-22T23:07:22.000Z","updated_at":"2023-04-04T18:15:22.000Z","dependencies_parsed_at":"2024-06-21T17:57:53.609Z","dependency_job_id":null,"html_url":"https://github.com/tanema/grind","commit_stats":null,"previous_names":["tanema/grind"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanema%2Fgrind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanema%2Fgrind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanema%2Fgrind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanema%2Fgrind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tanema","download_url":"https://codeload.github.com/tanema/grind/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238229940,"owners_count":19437723,"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":["foreman","nix","nixos","taskfile"],"created_at":"2024-09-27T09:20:54.355Z","updated_at":"2025-10-26T00:30:55.859Z","avatar_url":"https://github.com/tanema.png","language":"Go","readme":"# ⚙️  Grind ⚙️\n\n*Fast, reproducible, and concurrent development environment and process manager*\n\n`grind` incorporates ideas from procfiles, makefiles, and uses the nix package\nmanager to create a development environment that is reproducible and lightweight.\nIt was created out of a desire for something with the reproducibility of docker\nwithout the resources. `nix` satisfies a lot of this however it is an incredibly\ncomplex tool that is not always easy to setup. It also does not provide an easy\nway to run multiple processes at the same time, like foreman.\n\n- [Requirements](#requirements)\n- [Usage](#usage)\n- [grind.yml Spec](/docs/grind_spec.md)\n- [Running Envs](/docs/running_env.md)\n- [FAQ](#faq)\n\n### Requirements\n`grind` requires a few things to run properly.\n\n- Linux or MacOS (Windows is not supported by nix)\n- [nix package manager](https://nixos.org/download.html) `sh \u003c(curl -L https://nixos.org/nix/install) --daemon`\n\n### Usage\nTo get started quickly, run `grind init` in your project. Once your project has \na `grind.yml` file in it, you will need to define services and the dependencies \nthat they require. You can find out more on how to define these in the \n[grind.yml Spec documentation](/docs/grind_spec.md). Once you have defined these, \nsimply run `grind run` to concurrently run any services that you have defined \nin a `nix-shell`. Any tasks that are defined will be outputted in the help usage \nas well and can be run with `grind [task-name]`. Run `grind help` to see the \ndetailed output.\n\n### FAQ\n\n- *Why grind*: `grind` stands for *GR*ind *I*s *N*ot *D*ocker. Named so because\n  I wanted a tool that was a lot more light weight for development, and did not\n  kill my battery.\n- *Why tho?*: Because I also wanted to automate some things I use nix for and a\n  few other tools all into one.\n- *Is this true nix?*: No honestly it is a misuse of nix really. I know this is \n  not how you're supposed to use it, but I find this a lot more usable and \n  straight forward.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanema%2Fgrind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanema%2Fgrind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanema%2Fgrind/lists"}