{"id":22594859,"url":"https://github.com/avi-d-coder/implicit-hie","last_synced_at":"2025-04-04T15:10:25.909Z","repository":{"id":37812410,"uuid":"260351573","full_name":"Avi-D-coder/implicit-hie","owner":"Avi-D-coder","description":"Auto generate a stack or cabal multi component hie.yaml file","archived":false,"fork":false,"pushed_at":"2024-02-21T07:24:21.000Z","size":479,"stargazers_count":207,"open_issues_count":20,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-28T14:11:09.535Z","etag":null,"topics":["cabal","hacktoberfest","haskell","lsp","stack"],"latest_commit_sha":null,"homepage":"","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/Avi-D-coder.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"Avi-D-coder","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-05-01T00:59:28.000Z","updated_at":"2025-03-20T07:31:54.000Z","dependencies_parsed_at":"2024-12-22T12:12:15.790Z","dependency_job_id":"7967882d-6a9c-4c38-9e4e-91c7ac774a76","html_url":"https://github.com/Avi-D-coder/implicit-hie","commit_stats":{"total_commits":104,"total_committers":11,"mean_commits":9.454545454545455,"dds":"0.21153846153846156","last_synced_commit":"a88f56114c849b0fa76ff5ea8dcc2682aa27aa8f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avi-D-coder%2Fimplicit-hie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avi-D-coder%2Fimplicit-hie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avi-D-coder%2Fimplicit-hie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avi-D-coder%2Fimplicit-hie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Avi-D-coder","download_url":"https://codeload.github.com/Avi-D-coder/implicit-hie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247198463,"owners_count":20900080,"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":["cabal","hacktoberfest","haskell","lsp","stack"],"created_at":"2024-12-08T10:07:50.210Z","updated_at":"2025-04-04T15:10:25.888Z","avatar_url":"https://github.com/Avi-D-coder.png","language":"Haskell","funding_links":["https://github.com/sponsors/Avi-D-coder"],"categories":[],"sub_categories":[],"readme":"# implicit-hie\n```bash\ncd your-stack-or-cabal-package\nstack install implicit-hie # or cabal install implicit-hie\ngen-hie \u003e hie.yaml\n```\n`gen-hie` should be run the root of a cabal or stack project.\nThe config type (cabal or stack) is determined by the existence of\n`dist-newstyle`, `.stack-work`, `stack.yaml`, if none are found the default is cabal.\nYou can use `--cabal`, or `--stack` options to override config type.\n\n# Cabal Multi project example\n```bash\n❯ git clone https://github.com/well-typed/optics.git\n❯ cd optics\n❯ gen-hie\ncradle:\n  cabal:\n    - path: \"indexed-profunctors/src\"\n      component: \"lib:indexed-profunctors\"\n\n    - path: \"optics-th/src\"\n      component: \"lib:optics-th\"\n\n    - path: \"optics-th/tests\"\n      component: \"optics-th:test:optics-th-tests\"\n\n    - path: \"optics-vl/src\"\n      component: \"lib:optics-vl\"\n\n    - path: \"codegen/./Subtypes.hs\"\n      component: \"optics-codegen:exe:optics-codegen-subtypes\"\n\n    - path: \"optics-core/src\"\n      component: \"lib:optics-core\"\n\n    - path: \"optics-sop/src\"\n      component: \"lib:optics-sop\"\n\n    - path: \"optics-extra/src\"\n      component: \"lib:optics-extra\"\n\n    - path: \"template-haskell-optics/src\"\n      component: \"lib:template-haskell-optics\"\n\n    - path: \"optics/src\"\n      component: \"lib:optics\"\n\n    - path: \"optics/tests\"\n      component: \"optics:test:optics-tests\"\n\n    - path: \"metametapost/src/Cli.hs\"\n      component: \"metametapost:exe:metametapost-optics\"\n\n```\n\n## Features\n\nAll common Cabal and Stack configurations should just work.\nIf you use more advanced features, the generated config may not be complete.\n\n- [x] multi component cabal, stack projects\n- [x] multiple executables under a single path\n- [x] multiple paths provided to `hs-source-dirs`\n- [x] lookup nested packages in `cabal.project` or `stack.yaml`\n- [x] Handle Exe and Bench `other-modules`\n- [ ] common stanzas\n\n### Work, Twitter\n- Follow me on twitter [@AviDessauer](https://twitter.com/AviDessauer).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favi-d-coder%2Fimplicit-hie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favi-d-coder%2Fimplicit-hie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favi-d-coder%2Fimplicit-hie/lists"}