{"id":48517983,"url":"https://github.com/buarki/viztruct","last_synced_at":"2026-04-07T20:01:26.112Z","repository":{"id":288671937,"uuid":"967125569","full_name":"buarki/viztruct","owner":"buarki","description":"Struct padding visualizer","archived":false,"fork":false,"pushed_at":"2025-06-07T01:23:53.000Z","size":22418,"stargazers_count":37,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T23:40:21.646Z","etag":null,"topics":["go","lowlevel","webassembly"],"latest_commit_sha":null,"homepage":"https://viztruct.vercel.app","language":"Go","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/buarki.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-16T01:12:57.000Z","updated_at":"2025-10-20T09:37:10.000Z","dependencies_parsed_at":"2025-05-23T03:39:35.715Z","dependency_job_id":"9311e44e-e094-4941-81f8-7cd819ba1c7f","html_url":"https://github.com/buarki/viztruct","commit_stats":null,"previous_names":["buarki/viztruct","buarki/vizstruct"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/buarki/viztruct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buarki%2Fviztruct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buarki%2Fviztruct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buarki%2Fviztruct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buarki%2Fviztruct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buarki","download_url":"https://codeload.github.com/buarki/viztruct/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buarki%2Fviztruct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31526666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["go","lowlevel","webassembly"],"created_at":"2026-04-07T20:01:10.073Z","updated_at":"2026-04-07T20:01:26.089Z","avatar_url":"https://github.com/buarki.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Go Tests](https://github.com/buarki/viztruct/actions/workflows/tests.yml/badge.svg) [![Vercel Deploy](https://deploy-badge.vercel.app/vercel/viztruct)](https://viztruct.vercel.app/) [![tag and release](https://github.com/buarki/viztruct/actions/workflows/release.yml/badge.svg)](https://github.com/buarki/viztruct/actions/workflows/release.yml)\n\n\n# viztruct\n\n## Table of Contents\n- [CLI installation](#cli-installation)\n- [Usage](#usage)\n- [Minimalist webapp](#website)\n- [CI/CD plugin](./cmd/ci-plugin/README.md)\n\n\n![Image](./docs/demo.gif)\nSVG visualization:\n\n![Image](./docs/demo.png)\n\n## CLI installation\n\n### Go install\n\n```sh\ngo install github.com/buarki/viztruct/cmd/viztruct@latest\n```\n\n### Download binaries\n\n```sh\nARCH=\"arm64\" # or amd64\nOS=\"darwin\" # or linux\n\n# get latest tag using GitHub API\nVERSION=$(curl -s \"https://api.github.com/repos/buarki/viztruct/releases/latest\" | jq -r .tag_name)\n\n# download binary\nBINARY_URL=\"https://github.com/buarki/viztruct/releases/download/$VERSION/viztruct-$OS-$ARCH\"\ncurl -L \"$BINARY_URL\" -o viztruct\n\n# install\nchmod +x viztruct\nsudo mv viztruct /usr/local/bin/\n\n# verify\nviztruct --version\n```\n\n### Build it locally\n\nBuild the CLI:\n```sh\ngit clone git@github.com:buarki/viztruct.git\ncd viztruct\nmake build-cli\nsudo mv viztruct /usr/local/bin/\n```\n\n## Usage:\n\n### Analyze structs from a path\n\n```sh\nviztruct --path ./internal/samples/dumb_service.go --format=txt\n```\n\n### Get JSON output\n```sh\nviztruct --path ./internal/samples/dumb_service.go --format=json\n```\n\n### Generate SVG visualization\n```sh\nviztruct --path ./internal/samples/dumb_service.go --format=json --svg\n```\n\n### Analyze and define the optimization strategy\n```sh\nviztruct --path ./internal/samples/dumb_service.go --format=txt --strategies=alignment,size,group,greedy\n```\n\n### Show help\n```sh\nviztruct --help\n```\n\nThe tool will print the struct layout analysis to stdout. Use the `--svg` flag to generate an SVG visualization.\n\n## Minimalist webapp\n\nIf you want to use a limited version of viztruct (since it supports only explicitly defined types) in your browser just visit the [deployed webapp](https://viztruct.vercel.app). You can paste/type your struct in the text input area and get a full padding analysis.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuarki%2Fviztruct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuarki%2Fviztruct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuarki%2Fviztruct/lists"}