{"id":20807100,"url":"https://github.com/druidfi/tools","last_synced_at":"2026-03-04T23:32:23.153Z","repository":{"id":45483668,"uuid":"170683733","full_name":"druidfi/tools","owner":"druidfi","description":"Druid tools","archived":false,"fork":false,"pushed_at":"2025-11-25T06:07:42.000Z","size":282,"stargazers_count":0,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-28T14:23:55.122Z","etag":null,"topics":["developer-tools","docker","docker-compose","drupal","kubectl","makefile","symfony","tooling","tools","toolset"],"latest_commit_sha":null,"homepage":"https://www.druid.fi/en","language":"Makefile","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/druidfi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2019-02-14T11:52:56.000Z","updated_at":"2025-11-25T06:07:46.000Z","dependencies_parsed_at":"2023-11-27T11:30:03.780Z","dependency_job_id":"c03e1005-339b-439c-9d19-f26af74e2140","html_url":"https://github.com/druidfi/tools","commit_stats":{"total_commits":347,"total_committers":3,"mean_commits":"115.66666666666667","dds":"0.023054755043227626","last_synced_commit":"88b517112553f0bc3bf89ca3eb7dd1f2c7d3544d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/druidfi/tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druidfi%2Ftools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druidfi%2Ftools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druidfi%2Ftools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druidfi%2Ftools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/druidfi","download_url":"https://codeload.github.com/druidfi/tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druidfi%2Ftools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30099412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T23:31:22.529Z","status":"ssl_error","status_checked_at":"2026-03-04T23:31:22.112Z","response_time":59,"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":["developer-tools","docker","docker-compose","drupal","kubectl","makefile","symfony","tooling","tools","toolset"],"created_at":"2024-11-17T19:31:06.556Z","updated_at":"2026-03-04T23:32:23.123Z","avatar_url":"https://github.com/druidfi.png","language":"Makefile","readme":"# druidfi/tools\n\n![Tests](https://github.com/druidfi/tools/workflows/Tests/badge.svg)\n\nSet of tools meant for ease the development.\n\n## Features\n\n- Generalized Make commands (build, up, down, etc)\n- Same command can be run on Docker container and on host\n- Extendable in your project\n- Easily Updatable\n\n## How to use in the project\n\nDownload oneliner (source is [update.sh](update.sh)):\n\n```shell\nbash -c \"$(curl -fsSL -H 'Cache-Control: no-cache' https://git.io/JP10q)\"\n```\n\n## Project specific\n\nMakefiles: you can add project specific Make files to `tools/make/project`.\n\nSee the example below to see how they are loaded with:\n\n`-include $(PROJECT_DIR)/tools/make/project/*.mk`.\n\n### Override variables\n\nYou can also add `tools/make/override.mk` to override variables.\n\nFor example if you want to force certain CLI values for your local setup even if something is autodetected:\n\n```makefile\n# Custom Docker CLI container\nCLI_SERVICE := app\nCLI_USER := druid\nDOCKER_PROJECT_ROOT := /app\n```\n\n## Default commands\n\n| Command                   | Description                                                               |\n|---------------------------|---------------------------------------------------------------------------|\n| make build                | Build for dev env                                                         |\n| make build ENV=production | Build for specified env                                                   |\n| make debug                | Show debug information                                                    |\n| make down                 | Tear down the environment                                                 |\n| make help                 | List all make commands                                                    |\n| make shell                | Login to CLI container                                                    |\n| make self-update          | Self-update all the tools from druidfi/tools. See [update.sh](update.sh). |\n| make up                   | Launch the environment                                                    |\n\n## Example on Makefile in your project root\n\n```makefile\nPHONY :=\nPROJECT_DIR := $(dir $(lastword $(MAKEFILE_LIST)))\n\n# Include project env vars (if exists)\n-include .env\n\n# Include druidfi/tools config\ninclude $(PROJECT_DIR)/tools/make/Makefile\n\n# Include project specific make files (if they exist)\n-include $(PROJECT_DIR)/tools/make/project/*.mk\n\n.PHONY: $(PHONY)\n```\n\n## Update the tools\n\nUpdate general tools by downloading new versions of the files:\n\n```shell\nmake self-update\n```\n\n## Where this is used\n\n- https://github.com/druidfi/spell\n\n## FAQ\n\n*Why cannot the makefiles be included with Composer and from `vendor/druidfi/tools/make`?*\n\nAs one of the operations `make clean` will remove the `vendor` folder.\n\n## Developing\n\nSet Git hook. This will run tests pre-commit and if all is good, then update version.\n\n```console\nln -sf ../../hooks/pre-commit .git/hooks/pre-commit\n```\n\nRun tests:\n\n```console\nmake test\n```\n\nRead more about testing [here](tests/README.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdruidfi%2Ftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdruidfi%2Ftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdruidfi%2Ftools/lists"}