{"id":15111317,"url":"https://github.com/viveksahu26/stree","last_synced_at":"2026-02-09T10:05:01.284Z","repository":{"id":256004654,"uuid":"854090830","full_name":"viveksahu26/stree","owner":"viveksahu26","description":"For a provided SBOM, it helps vizualize the relationships between the components and their dependencies in a directory Tree or file Tree structure like tree command does for linux.","archived":false,"fork":false,"pushed_at":"2025-09-24T14:19:49.000Z","size":7208,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-24T15:19:22.916Z","etag":null,"topics":["go","sbom","softwaresupplychainsecurity"],"latest_commit_sha":null,"homepage":"","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/viveksahu26.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":"2024-09-08T11:45:26.000Z","updated_at":"2025-09-24T14:19:05.000Z","dependencies_parsed_at":"2025-05-22T09:31:27.179Z","dependency_job_id":"303b29d6-1767-458a-988b-96120ed4fb26","html_url":"https://github.com/viveksahu26/stree","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"099a0dfec93e1b3d6590067cf45e900c1eb427e8"},"previous_names":["viveksahu26/tree","viveksahu26/stree"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/viveksahu26/stree","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksahu26%2Fstree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksahu26%2Fstree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksahu26%2Fstree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksahu26%2Fstree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viveksahu26","download_url":"https://codeload.github.com/viveksahu26/stree/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viveksahu26%2Fstree/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29261651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"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","sbom","softwaresupplychainsecurity"],"created_at":"2024-09-26T00:03:27.327Z","updated_at":"2026-02-09T10:05:01.265Z","avatar_url":"https://github.com/viveksahu26.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stree\n\nstree is CLI tool which convert SBOM dependencies into directory tree or file tree structure. It's similar to `tree` command in linux.\n\nFor example:\n\n```bash\n\n# tree command in linux\n$ tree\n├── cmd\n│   └── tree\n│       ├── cli\n│       │   ├── commands.go\n│       │   ├── json\n│       │   │   └── json.go\n│       │   ├── json.go\n│       │   └── options\n│       │       ├── json.go\n│       │       └── root.go\n│       └── main.go\n├── go.mod\n├── go.sum\n├── README.md\n└── sbomqs-sca.json\n\n5 directories, 10 files\n```\n\n## Getting Started with stree: 101\n\n```bash\n# clone repository\n$ git clone git@github.com:viveksahu26/stree.git\n\n$ cd stree/cmd/stree/\n\n# build your binary\n$ go build\n\n# For help\n$ ./stree -h\n\n# get tree-view structure dependencies for your SBOM\n$ ./stree sbom  ../../samples/sbomqs-fossa-cyclonedx.json\n```\n\n## Why stree ?\n\nAn SBOM (Software Bill of Materials) essentially serves as an inventory or list of software components, each of which may have its own dependencies. The `stree` tool is designed to help visualize the relationships between these components and their dependencies.\n\nIn the world of software and technology, every software has tons of dependencies and each dependencies has further dependencies. For a software supply chain enthusaist, it's a curious and required thing to visualize it's project depedencies.\n\n## How to use it ??\n\n```bash\n\n$ stree sbom samples/sbomqs-fossa-cyclonedx.json\n\nSBOM                                                                                                                                                    \n├──github.com:viveksahu26/sbomqs.git$14e7376fa2b00c102a9ba89fd5ccc7cf26f2f255                                                                           \n├──pkg:github/DependencyTrack/client-go                                                                                                                 \n├──pkg:github/spf13/cobra                                                                                                                               \n├──pkg:github/CycloneDX/cyclonedx-go                                                                                                                    \n├──pkg:github/google/go-github                                                                                                                          \n├──pkg:github/github/go-spdx                                                                                                                            \n├──pkg:github/samber/lo                                                                                                                                 \n├──pkg:github/package-url/packageurl-go                                                                                                                 \n├──pkg:github/kubernetes-sigs/release-utils                                                                                                             \n├──pkg:github/Masterminds/semver                                                                                                                        \n├──pkg:github/olekukonko/tablewriter                                                                                                                    \n├──pkg:github/spdx/tools-golang                                                                                                                         \n├──pkg:github/google/uuid                                                                                                                               \n├──git+gopkg.in/yaml.v2$7649d4548cb53a614db133b2a8ac1f31859dda8c                                                                                        \n├──pkg:github/uber-go/zap                                                                                                                               \n├──pkg:github/cloudflare/circl                                                                                                                          \n├──git+go.googlesource.com/crypto$332fd656f4f013f66e643818fe8c759538456535                                                                              \n├──pkg:golang/github.com/google/go-querystring                                                                                                          \n├──pkg:github/ProtonMail/go-crypto                                                                                                                      \n├──pkg:github/common-nighthawk/go-figure                                                                                                                \n├──pkg:github/spdx/gordf                                                                                                                                \n├──pkg:github/mattn/go-runewidth                                                                                                                        \n├──pkg:github/anchore/go-struct-converter                                                                                                               \n├──pkg:github/uber-go/multierr                                                                                                                          \n├──git+go.googlesource.com/oauth2$5fd42413edb3b1699004a31b72e485e0e4ba1b13                                                                              \n├──pkg:github/spf13/pflag                                                                                                                               \n├──git+go.googlesource.com/sys$673e0f94c16da4b6d7f550d6af66fde0c69503e4                                                                                 \n├──git+go.googlesource.com/text$9c2f3a21352d1ff4e47776534e3f334b39ec0183                                                                                \n├──pkg:github/rivo/uniseg                                                                                                                               \n└──pkg:github/kubernetes-sigs/yaml    \n\n```\n\nNOTE: Press enter over nodes, it will expand and collaspe, vice-versa.\n\n### Images\n\n![alt text](images/image.png)\n\n![alt text](images/image-5.png)\n\n![alt text](images/image-2.png)\n\n![alt text](images/image-3.png)\n\n## Software Supply Chain Security usecases\n\n```bash\n# generate list of componenets in json format from go modules\n$ opensca-cli -path go.mod  -out tree-sca.json\n\n# Now, convert that components into directory structure for easy visualization\n$ stree  json --out tree1-output.json  stree-tree-sca.json\n\n```\n\n**NOTE**:\n\n- Install opensca-cli tool from [here](https://github.com/XmirrorSecurity/OpenSCA-cli/releases).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveksahu26%2Fstree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviveksahu26%2Fstree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviveksahu26%2Fstree/lists"}