{"id":32956279,"url":"https://github.com/mindaugasbarysas/bashwithnails","last_synced_at":"2026-01-14T12:43:03.871Z","repository":{"id":2393711,"uuid":"43392771","full_name":"mindaugasbarysas/bashwithnails","owner":"mindaugasbarysas","description":"Bash With Nails","archived":false,"fork":false,"pushed_at":"2023-07-21T09:29:34.000Z","size":60,"stargazers_count":33,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-06-19T03:06:38.911Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mindaugasbarysas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-09-29T20:31:39.000Z","updated_at":"2024-02-07T20:52:26.000Z","dependencies_parsed_at":"2024-01-03T04:12:50.822Z","dependency_job_id":"ea076cdd-9cc4-4a51-a840-a81a4c28b534","html_url":"https://github.com/mindaugasbarysas/bashwithnails","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mindaugasbarysas/bashwithnails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindaugasbarysas%2Fbashwithnails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindaugasbarysas%2Fbashwithnails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindaugasbarysas%2Fbashwithnails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindaugasbarysas%2Fbashwithnails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mindaugasbarysas","download_url":"https://codeload.github.com/mindaugasbarysas/bashwithnails/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindaugasbarysas%2Fbashwithnails/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28420814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-11-12T23:00:19.370Z","updated_at":"2026-01-14T12:43:03.856Z","avatar_url":"https://github.com/mindaugasbarysas.png","language":"Shell","funding_links":[],"categories":["Shell Script Development"],"sub_categories":["Directory Navigation"],"readme":"# Bash With Nails\n\n[![Build Status](https://travis-ci.org/mindaugasbarysas/bashwithnails.svg?branch=master)](https://travis-ci.org/mindaugasbarysas/bashwithnails)\n\nBash With Nails (rhymes with ruby on rails) is a bash framework written for fun and profit. \n\nI'm kidding about the fun and profit part.\n\nIt has:\n\n- loading of bash function collections in separate \"modules\".\n- dependency management and automatic loading of relevant \"modules\".\n- separate \"modules\" can have separate \"namespaces\", prefixing function names and non-global variables, e.g. `mymodule::myfunction`.\n- if you want to refer to your own namespace, you can use `this::myfunction` in your module.\n- named function parameters, e.g. `function myfunction(a b c) { echo \"$a $b $c\"; }`.\n- weak OOP support, e.g. `oop::new oop_demo '1 2' 'obj_one'; oop::new oop_demo '3 4' 'obj_two'; oop::call 'obj_one' sum \"\"; oop::call 'obj_two' sum \"\"; oop::destroy 'obj_two' ''`\n- modules can be downloaded from the repository (as seen in sample_repo folder)\n- tests of unit kind, kind of :) (yes, it works with travis)\n\nsee [Docs](https://github.com/mindaugasbarysas/bashwithnails/blob/master/docs/man.md) or clone and run for more information.\n\n## How to run\n\n`./app.sh`\n\nand see all the magic described above happen.\n\n## Why \"with nails\"?\n\nBecause \n\n![cursed hammer](http://i.imgur.com/6qZcv6j.jpg?fb)\n\nSo it's only natural you want nails with that. Or you can keep on bashing your thumbs - it's a free world!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindaugasbarysas%2Fbashwithnails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmindaugasbarysas%2Fbashwithnails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindaugasbarysas%2Fbashwithnails/lists"}