{"id":13823455,"url":"https://github.com/riiid/tca-diagram","last_synced_at":"2025-07-08T17:33:43.911Z","repository":{"id":219708068,"uuid":"566128921","full_name":"Christmas-Blues/tca-diagram","owner":"Christmas-Blues","description":"Generate mermaid diagram of TCA feature relationships","archived":false,"fork":false,"pushed_at":"2024-08-11T00:38:55.000Z","size":49,"stargazers_count":59,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-08-11T07:56:14.235Z","etag":null,"topics":["dependencies","diagram","mermaid","swift-composable-architecture","tca"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Christmas-Blues.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}},"created_at":"2022-11-15T02:42:46.000Z","updated_at":"2024-08-11T00:38:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"dd08fd76-5e8f-45f4-8090-3afe00a4779a","html_url":"https://github.com/Christmas-Blues/tca-diagram","commit_stats":null,"previous_names":["riiid/tca-diagram","christmas-blues/tca-diagram"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Christmas-Blues%2Ftca-diagram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Christmas-Blues%2Ftca-diagram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Christmas-Blues%2Ftca-diagram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Christmas-Blues%2Ftca-diagram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Christmas-Blues","download_url":"https://codeload.github.com/Christmas-Blues/tca-diagram/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225453329,"owners_count":17476702,"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":["dependencies","diagram","mermaid","swift-composable-architecture","tca"],"created_at":"2024-08-04T09:00:34.722Z","updated_at":"2024-11-20T01:30:35.632Z","avatar_url":"https://github.com/Christmas-Blues.png","language":"Swift","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# TCADiagram\n\nCreate [mermaid](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams) md file from [swift-composable-architecture](https://github.com/pointfreeco/swift-composable-architecture) to show the full diagram of your feature relationships.\n\nRefer to example here: https://github.com/tisohjung/ifletstore/blob/main/diagram.md\n\n```mermaid\n%%{ init : { \"theme\" : \"default\", \"flowchart\" : { \"curve\" : \"monotoneY\" }}}%%\ngraph LR\n    Feature1 -- optional --\u003e SubFeature1\n    Feature1 -- optional --\u003e SubFeature2\n    Feature1 -- optional --\u003e SubFeature3\n    Feature1 -- optional --\u003e SubFeature4\n    Feature1 -- optional --\u003e SubFeature5\n    Feature1 -- optional --\u003e SubFeature6\n    Feature1 -- optional --\u003e SubFeature7\n    Feature1 -- optional --\u003e SubFeature8\n    Feature1 -- optional --\u003e SubFeature9\n    Main -- optional --\u003e Feature1\n\n    Feature1(Feature1: 1)\n    SubFeature1(SubFeature1: 1)\n    SubFeature2(SubFeature2: 1)\n    SubFeature3(SubFeature3: 1)\n    SubFeature4(SubFeature4: 1)\n    SubFeature5(SubFeature5: 1)\n    SubFeature6(SubFeature6: 1)\n    SubFeature7(SubFeature7: 1)\n    SubFeature8(SubFeature8: 1)\n    SubFeature9(SubFeature9: 1)\n```\n\n## Build \u0026 Test the Library\n\nbuild this project or download the tca-diagram file from the latest release\nBuild:\n```sh\nmake build\nmake test\n```\nRun:\n```\n./tca-diagram -r . tca-diagram.md\n```\n\n\n## Usage\n\n```sh\nUSAGE: tca-diagram [--root-directory \u003croot-directory\u003e] \u003coutput\u003e\n\nARGUMENTS:\n  \u003coutput\u003e                Markdown file\n\nOPTIONS:\n  -r, --root-directory \u003croot-directory\u003e\n                          Root directory of swift files (default: .)\n  --version               Show the version.\n  -h, --help              Show help information.\n```\n\n## Release\n\n```sh\nVERSION=\u003cversion\u003e make release\n```\n\n## Todos\n- [x] ~~Scopes~~\n- [x] ~~optionals~~\n- [x] ~~ifLet~~\n- [x] ~~functions inside `extension Reducer {...}` isn't parsed.~~\n- [x] ~~case paths like `.ifLet(\\.$destination, action: \\.destination) {`~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friiid%2Ftca-diagram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friiid%2Ftca-diagram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friiid%2Ftca-diagram/lists"}