{"id":17384163,"url":"https://github.com/mcandre/bb","last_synced_at":"2026-01-07T11:34:21.621Z","repository":{"id":214404793,"uuid":"736443365","full_name":"mcandre/bb","owner":"mcandre","description":"the awk build system","archived":false,"fork":false,"pushed_at":"2025-02-20T19:19:21.000Z","size":6,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-20T20:27:19.092Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Awk","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/mcandre.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-12-27T23:31:59.000Z","updated_at":"2025-02-20T19:19:25.000Z","dependencies_parsed_at":"2023-12-30T08:25:20.696Z","dependency_job_id":"c03914d9-85c3-4307-bf4b-7d01945b7864","html_url":"https://github.com/mcandre/bb","commit_stats":null,"previous_names":["mcandre/bb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Fbb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Fbb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Fbb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Fbb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcandre","download_url":"https://codeload.github.com/mcandre/bb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924508,"owners_count":20694730,"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-10-16T07:44:46.248Z","updated_at":"2026-01-07T11:34:21.615Z","avatar_url":"https://github.com/mcandre.png","language":"Awk","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bb: the awk build system\n\n\u003e Your scientists were so preoccupied with whether they could, they didn’t stop to think if they should.\n\n# ABOUT\n\n`bb` demonstrates a working build system written in GNU awk, to organize build steps for awk projects.\n\n# EXAMPLE\n\n```console\n$ cd example\n\n$ ./bb\nbzz bzz\n\n$ ./bb help\nUsage: bb [\u003ctask\u003e [\u003ctask\u003e [\u003ctask\u003e ...]]]\n\nTasks:\n\n* all\n* help\n* test\n```\n\n# CONFIGURATION\n\nTasks are implemented with awk functions.\n\nTask trees are implemented with functions that call other functions.\n\nThat's it.\n\n# REQUIREMENTS\n\n* a UNIX environment with [coreutils](https://www.gnu.org/software/coreutils/) / [base](http://ftp.freebsd.org/pub/FreeBSD/releases/) / [macOS](https://www.apple.com/macos) / [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) / etc.\n* GNU [awk](https://www.gnu.org/software/gawk/manual/gawk.html) 5+\n\n## Recommended\n\n* [zsh](https://www.zsh.org/)\n\n# SEE ALSO\n\n* Inspiration from [nobuild](https://github.com/tsoding/nobuild), a convention for C/C++ build systems\n* [bashate](https://github.com/openstack/bashate), a shell script style linter\n* [beltaloada](https://github.com/mcandre/beltaloada), a guide to writing build systems for (POSIX) sh\n* [booty](https://github.com/mcandre/booty?tab=readme-ov-file) for JS/Node.js/altJS\n* [dale](https://github.com/mcandre/dale) builds D projects\n* [Gradle](https://gradle.org/), a build system for JVM projects\n* [jelly](https://github.com/mcandre/jelly), a JSON task runner\n* [lair](https://github.com/mcandre/lair), a portable task runner\n* [lake](https://luarocks.org/modules/steved/lake), a Lua task runner\n* [Leiningen](https://leiningen.org/) + [lein-exec](https://github.com/kumarshantanu/lein-exec), a Clojure task runner\n* [lichen](https://github.com/mcandre/lichen), a sed task runner\n* [Mage](https://magefile.org/), a task runner for Go projects\n* [mian](https://github.com/mcandre/mian), a task runner for (Chicken) Scheme Lisp\n* [npm](https://www.npmjs.com/), [Grunt](https://gruntjs.com/), Node.js task runners\n* [POSIX make](https://pubs.opengroup.org/onlinepubs/009695299/utilities/make.html), a task runner standard for C/C++ and various other software projects\n* [Rake](https://ruby.github.io/rake/), a task runner for Ruby projects\n* [Rebar3](https://www.rebar3.org/), a build system for Erlang projects\n* [rez](https://github.com/mcandre/rez) builds C/C++ projects\n* [sbt](https://www.scala-sbt.org/index.html), a build system for Scala projects\n* [Shake](https://shakebuild.com/), a task runner for Haskell projects\n* [ShellCheck](https://www.shellcheck.net/), a shell script linter with a rich collection of rules for promoting safer scripting\n* [slick](https://github.com/mcandre/slick), a linter to enforce stricter, unextended POSIX sh syntax compliance\n* [stank](https://github.com/mcandre/stank), a collection of POSIX-y shell script linters\n* [tinyrick](https://github.com/mcandre/tinyrick) for Rust projects\n* [yao](https://github.com/mcandre/yao), a task runner for Common LISP projects\n\n🐝\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Fbb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcandre%2Fbb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Fbb/lists"}