{"id":13638459,"url":"https://github.com/owulveryck/cue4puml4c4","last_synced_at":"2025-10-06T10:21:41.428Z","repository":{"id":37926174,"uuid":"465761014","full_name":"owulveryck/cue4puml4c4","owner":"owulveryck","description":"POC to turn cue into a plantuml/C4 diagram","archived":false,"fork":false,"pushed_at":"2024-06-19T08:39:12.000Z","size":409,"stargazers_count":21,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-02T08:29:25.447Z","etag":null,"topics":["c4","c4model","cue","cuelang","hacktoberfest","plantuml"],"latest_commit_sha":null,"homepage":"","language":"CUE","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owulveryck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-03-03T14:48:51.000Z","updated_at":"2025-07-12T13:57:31.000Z","dependencies_parsed_at":"2025-04-12T19:11:50.227Z","dependency_job_id":"37d79f68-7f60-4c69-acb1-685b245dc2ac","html_url":"https://github.com/owulveryck/cue4puml4c4","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/owulveryck/cue4puml4c4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owulveryck%2Fcue4puml4c4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owulveryck%2Fcue4puml4c4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owulveryck%2Fcue4puml4c4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owulveryck%2Fcue4puml4c4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owulveryck","download_url":"https://codeload.github.com/owulveryck/cue4puml4c4/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owulveryck%2Fcue4puml4c4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278592817,"owners_count":26012382,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c4","c4model","cue","cuelang","hacktoberfest","plantuml"],"created_at":"2024-08-02T01:00:46.264Z","updated_at":"2025-10-06T10:21:41.413Z","avatar_url":"https://github.com/owulveryck.png","language":"CUE","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# cue4puml4c4\n\nFor more information, please refer to [The Website](https://owulveryck.github.io/cue4puml4c4/)\n\n## Pure cue\n\n- clone the repo\n- in `example` dir, tweak `example1.cue`\n- `cue vet` to check... and `cue genpuml` to generate the plantuml\n\n## live view\n\n- Be sure to have a plantuml server running at `localhost:8080`.\n- within the `example` dir\n- Run the local server: `go run ../cmd`\n- open a browser to [http://localhost:9090](http://localhost:9090)\n- save a file in the current directory\n- profit :D\n\n## Simple HOWTO\n\n### Create your own diagrams\n\n```shell\n$ mkdir $TMPDIR/mydir \u0026\u0026 cd $TMPDIR/mydir // obviously change this to something suitable for you\n$ cue mod init\n$ mkdir -p cue.mod/pkg/github.com/owulveryck/cue4puml4c4\n$ git clone https://github.com/owulveryck/cue4puml4c4.git cue.mod/pkg/github.com/owulveryck/cue4puml4c4\n$ cat \u003c\u003cEOF \u003e test.cue\npackage main\n\nimport \"github.com/owulveryck/cue4puml4c4:c4\"\n\nC1: c4.#C1 \u0026 { // the name C1 should be coherent with the name you declare in the command\n        Systems: [{id: \"sample\", label: \"my sample\"}]\n}\nEOF\n\n$ cat \u003c\u003cEOF \u003e command_tool.cue\npackage main\n\nimport (\n        \"tool/cli\"\n        \"text/template\"\n        \"github.com/owulveryck/cue4puml4c4:c4\"\n)\n\ncommand: genpuml: {\n        c1: cli.Print \u0026 {\n                text: template.Execute(c4.plantumlTemplate, C1) // change C1 here with the name of your object\n        }\n}\nEOF\n\n$ cue genpuml\n```\n\n### Live preview\n\n*Prerequisites:*\n\n- Go\n- a running plantuml server\n- run the following command:\n\n```shell\ncd ./cue.mod/pkg/github.com/owulveryck/cue4puml4c4/cmd/\n./cue.mod/pkg/github.com/owulveryck/cue4puml4c4/cmd/cmd\n```\n\nopen your browser to [localhost:9090](http://localhost:9090)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowulveryck%2Fcue4puml4c4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowulveryck%2Fcue4puml4c4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowulveryck%2Fcue4puml4c4/lists"}