{"id":28478356,"url":"https://github.com/caffeineduck/balderdash","last_synced_at":"2025-07-14T16:05:11.718Z","repository":{"id":103370602,"uuid":"589991798","full_name":"CaffeineDuck/Balderdash","owner":"CaffeineDuck","description":"Bathe your code in ganga jaal.","archived":false,"fork":false,"pushed_at":"2023-01-19T12:10:24.000Z","size":28,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-03T07:47:16.532Z","etag":null,"topics":["bash","code-search","profanity-detection"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/CaffeineDuck.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-17T12:21:33.000Z","updated_at":"2024-10-21T15:43:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"a466dc6b-6ca6-4f64-9f65-f24735ff7ad7","html_url":"https://github.com/CaffeineDuck/Balderdash","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/CaffeineDuck/Balderdash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaffeineDuck%2FBalderdash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaffeineDuck%2FBalderdash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaffeineDuck%2FBalderdash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaffeineDuck%2FBalderdash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CaffeineDuck","download_url":"https://codeload.github.com/CaffeineDuck/Balderdash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaffeineDuck%2FBalderdash/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265314164,"owners_count":23745208,"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":["bash","code-search","profanity-detection"],"created_at":"2025-06-07T17:34:58.452Z","updated_at":"2025-07-14T16:05:11.703Z","avatar_url":"https://github.com/CaffeineDuck.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Balderdash [WIP]\n\nBalderdash is a profanity checker tool for your codebase. It was created to that you\nwon't have to worry about mistakenly commiting curse words or some not-so-appropriate\nwords to your main branch.\n\nIt's a simple shell script and can run on almost any Unix system. It was created in\nshell due to how simple it was to write it. I have no plans of moving it to other\nlanguages and adding more graphic features.\n\n## Features\n\n- Extremely fast search using `ag`.\n- Multi language support.\n- Custom white-list/ black-list support.\n- Files in .gitignore and .ignore are automatically ignored.\n- Very modular CLI.\n- Pre commit hook support.\n- [TODO] Github actions support.\n\n## Installation\n\nYou'll need to have [ag](https://github.com/ggreer/the_silver_searcher) installed\nin your system. `ag` is very fast code searcher.\n\nThe following script adds balderdash script to your `/bin`.\n\n```bash\ncurl -Ls https://raw.githubusercontent.com/CaffeineDuck/Balderdash/main/install.sh | bash\n```\n\nYou'll need to run init after installing the script.\n\n```bash\nbalderdash init\n```\n\n## Using pre-commit hook\n\n- Add to your hooks.\n\n```yaml\nrepos:\n  - repo: https://github.com/caffeineDuck/balderdash\n    rev: $LATEST_VERSION\n    hooks:\n      - id: balderdash\n```\n\n- Install the `balderdash` CLI and run the `balderdash init` command.\n\n## CLI Usage Examples\n\n- Checking the current directory for profanity\n\n```bash\nbalderdash check\n```\n\n- Checking specific dir for profanity\n\n```bash\nbalderdash check -d dir/\n```\n\n- Checking specific file for profanity\n\n```bash\nbalderdash check -f app.py\n```\n\n- Checking from your custom parsed wordlist\n\n```\nbash check -f app.py -w parsed_wordlist.txt\n```\n\n`Note:` _Your wordlist must follow Extended Regex format_\n\n## CLI Reference\n\n```bash\nBalderdash is a tool to find profanity in files\n\nUsage: balderdash [command] [options]\n\nCommands:\n  init|i: Initialize the config file\n  help|h: Display this help message\n  check|c \u003c-f|-c|-w|-d\u003e: Check a file/dir for profanity\n  download|dw \u003c-c\u003e: Download the profanity list according to language selection\n\nOptions:\n  -f [FILE]: Specify a file to check\n  -c [FILE]: Specify a config file\n  -d [DIR]: Specify a directory to check\n  -w [FILE]: Specify a file containing profanity words list\n```\n\n## Configuration\n\nYou can configure how the CLI and works through the config file\nin your `~/.config/balderdash/balderdash.conf` file. It can be\nused to customize blacklisted words, white-listed words.\n\n- Add new language to the checker (`balderdash.conf`):\n\n```bash\nLANGUAGES=(en np fr au)\n```\n\n_You can check the list of supported languages in the [words](https://github.com/CaffeineDuck/Balderdash/tree/main/words)\ndirectory. You can create a PR and add your own language or words to a specific language there_\n\n- Add custom white-listed/ black-listed words (`balderdash.conf`):\n\n```bash\nDEFAULT_WHITELIST=(gosh shit)\nDEFAULT_BLACKLIST=(sudo pipenv)\n```\n\n_If it's a multi word black-list/ white-list wrap it in double quotes_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaffeineduck%2Fbalderdash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaffeineduck%2Fbalderdash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaffeineduck%2Fbalderdash/lists"}