{"id":31237006,"url":"https://github.com/mcandre/lair","last_synced_at":"2025-09-22T16:59:06.676Z","repository":{"id":315136772,"uuid":"1058242840","full_name":"mcandre/lair","owner":"mcandre","description":"a lightweight build system","archived":false,"fork":false,"pushed_at":"2025-09-16T23:27:20.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T23:54:16.331Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcandre.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-16T20:25:19.000Z","updated_at":"2025-09-16T23:27:24.000Z","dependencies_parsed_at":"2025-09-22T15:45:24.922Z","dependency_job_id":null,"html_url":"https://github.com/mcandre/lair","commit_stats":null,"previous_names":["mcandre/lair"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mcandre/lair","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Flair","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Flair/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Flair/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Flair/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcandre","download_url":"https://codeload.github.com/mcandre/lair/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Flair/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276439796,"owners_count":25642752,"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","status":"online","status_checked_at":"2025-09-22T02:00:08.972Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-22T16:59:05.233Z","updated_at":"2025-09-22T16:59:06.664Z","avatar_url":"https://github.com/mcandre.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lair: a lightweight build system\n\n# EXAMPLE\n\n```console\n$ cd example\n\n$ ./install\n\n$ ./lair\nHello, World!\n```\n\nSee the [example](example) project for more detail.\n\n# ABOUT\n\nlair provides conventions for automating common computer tasks.\n\n# REQUIREMENTS\n\n* [Raku](https://raku.org/) 2025.06.1+\n\n## Recommended\n\n* a UNIX-like environment, e.g. [WSL](https://learn.microsoft.com/en-us/windows/wsl/)\n\n# LICENSE\n\nFreeBSD\n\n# MAJOR FEATURES\n\n## Composability\n\nHistorically, many build systems rely on bespoke shell scripts, with all the hazards inherent in shell languages.\n\nIn contrast, lair uses the predictable [Proc](https://docs.raku.org/type/Proc) API. This enables a safe, expressive domain specific language to maintain build systems of any complexity.\n\n## Focus\n\nlair is quiet by default, presenting only the logs of your commands. This reduces log noise, saving time and cloud costs.\n\n## Portability\n\nWe don't believe in vendor locking for software development tools.\n\nlair runs on a wide variety of platforms, including macOS, Linux, other UNIX kin, and Windows. This helps to promote a higher degree of portability for your applications.\n\nlair is operating system agnostic, programming language agnostic, and build system agnostic. In fact, we recommend delegating many tasks from lair to project-specific build systems!\n\n## Speed\n\nlair is designed for low overhead, so that the bulk of the CPU time is reserved for executing your build commands. Spend the extra time developing your projects, or just grabbing a cup of coffee.\n\n## Flexibility\n\nExtend your lairs to fit your project needs. Execute tasks in [parallel](https://docs.raku.org/language/concurrency). Design your tasks like make `.PHONY:` by default. The sky's the limit!\n\n🦋🦋🦋\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Flair","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcandre%2Flair","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Flair/lists"}