{"id":15288099,"url":"https://github.com/alexpeits/harg","last_synced_at":"2025-08-27T15:20:01.968Z","repository":{"id":35021596,"uuid":"193395919","full_name":"alexpeits/harg","owner":"alexpeits","description":"Haskell program configuration using higher kinded data","archived":false,"fork":false,"pushed_at":"2024-05-21T16:16:29.000Z","size":364,"stargazers_count":29,"open_issues_count":7,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T04:37:04.326Z","etag":null,"topics":["configuration","haskell","option-parser","optparse-applicative"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/harg","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexpeits.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-06-23T21:11:18.000Z","updated_at":"2024-04-12T18:53:26.000Z","dependencies_parsed_at":"2024-10-31T02:04:37.196Z","dependency_job_id":"c432314f-633f-4a35-b3d1-15588d1d1494","html_url":"https://github.com/alexpeits/harg","commit_stats":{"total_commits":245,"total_committers":5,"mean_commits":49.0,"dds":"0.35510204081632657","last_synced_commit":"cc1b2e4e68713ffab188a11b1d89ee7d5540e8d5"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexpeits%2Fharg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexpeits%2Fharg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexpeits%2Fharg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexpeits%2Fharg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexpeits","download_url":"https://codeload.github.com/alexpeits/harg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345256,"owners_count":21088231,"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":["configuration","haskell","option-parser","optparse-applicative"],"created_at":"2024-09-30T15:44:07.418Z","updated_at":"2025-04-11T04:37:11.826Z","avatar_url":"https://github.com/alexpeits.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# harg :nut_and_bolt:\n\n[![Build Status](https://github.com/alexpeits/harg/workflows/Build%20and%20test/badge.svg)](https://github.com/alexpeits/harg/actions)\n[![Hackage](https://img.shields.io/hackage/v/harg.svg)](https://hackage.haskell.org/package/harg)\n\n`harg` is a library for configuring programs by scanning command line arguments,\nenvironment variables, default values and more. Under the hood, it uses a subset\nof [`optparse-applicative`](https://hackage.haskell.org/package/optparse-applicative)\nto expose regular arguments, switch arguments and subcommands. The library\nrelies heavily on the use of higher kinded data (HKD) thanks to the\n[`barbies`](https://hackage.haskell.org/package/barbies) library. Using\n[`higgledy`](https://hackage.haskell.org/package/higgledy) also helps reduce\nboilerplate code significantly.\n\n## Documentation\n\nTo find out more, check out the [docs](https://alexpeits.github.io/harg) or the\npackage page on [hackage](https://hackage.haskell.org/package/harg). There is\nalso an [example](https://github.com/alexpeits/harg/blob/master/Example.hs)\nmodule that serves as an extensive demonstration of the library.\n\n## Roadmap\n\n- Better errors using `optparse-applicative`'s internals\n- Allow user to pass `optparse-applicative` preferences\n- Write tests\n\n## Credits\n\n- [jcpetruzza](https://github.com/jcpetruzza)\n- [i-am-tom](https://github.com/i-am-tom)\n- [jmackie](https://github.com/jmackie)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexpeits%2Fharg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexpeits%2Fharg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexpeits%2Fharg/lists"}