{"id":13590681,"url":"https://github.com/koderizer/arc","last_synced_at":"2026-01-14T19:17:50.860Z","repository":{"id":57524614,"uuid":"254912152","full_name":"koderizer/arc","owner":"koderizer","description":"Software system architecture authoring and inspecting made easy","archived":false,"fork":false,"pushed_at":"2020-06-08T16:20:49.000Z","size":261,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T14:38:37.604Z","etag":null,"topics":["arc","architecture","c4model"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koderizer.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}},"created_at":"2020-04-11T16:47:09.000Z","updated_at":"2023-05-07T11:52:36.000Z","dependencies_parsed_at":"2022-09-26T18:11:49.637Z","dependency_job_id":null,"html_url":"https://github.com/koderizer/arc","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/koderizer/arc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderizer%2Farc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderizer%2Farc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderizer%2Farc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderizer%2Farc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koderizer","download_url":"https://codeload.github.com/koderizer/arc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderizer%2Farc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28432179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["arc","architecture","c4model"],"created_at":"2024-08-01T16:00:49.467Z","updated_at":"2026-01-14T19:17:50.842Z","avatar_url":"https://github.com/koderizer.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# arc\n\n__Software architecture made simple__\n\narc is a simple utility to author, visualize, inspect and update software architecture design easily through simple YAML files. \n\nIt is the utility to adopt the [C4model](https://c4model.com) architecture design approach that is promoted by Simon Brown. Arc allow the practice of architecture as code, allow easy integration to CiCd workflows such that archictecture information is accumulated and kept up to date as the system complexity grows, easily and free of any additional manual effort. \n\nThe objective is to design and deliver software product with clear architecture and clean working code, with the least amount of effort and duplicating cognitive workload. \n\nThe workflow using arc utilities is: \n - Start note down architecture model of your app on a yaml file named arc.yaml.\n - Use arcli to inspect and arcviz service to visualize the architecture in different views such as Landscape, Context, Containers or Component.\n - Share the visualization through a centrally hosted arcviz server if your team fancy.  \n\n## Install\n\n- Install and run arcviz on your machine. You need  __Docker__ as it is the only option now.\n```\n    docker run -d -p 10000:10000 -p 8080:8080 koderizer/arcviz:latest\n```\n\n- Install arcli utility, via Homebrew on Mac as it is the only convenient option now:\n```\nbrew tap koderizer/arc\n\nbrew install arcli\n```\n\n_Build from source or download from release package and put to your bin path is another option_\n\n## Usage\n    arcli help\n\n\n## Example\nOne simple application \n```yaml\napp: arcs\ndesc: \"Arc is a simple utility to author, view, inspect and update software architecture design\"\nusers:\n  - name: dev\n    role: \"one who create software service\"\n\ninternal-systems:\n  - name: arc\n    desc: \"Enable deloper to author, inspect and version control software systems design and code.\"\n  \n    containers:\n    - name: cli\n      runtime: arcli-binary\n      technology: golang\n      desc: \"local utility to parse and build arc data to and from visualizations\"\n  \n    - name: viz\n      runtime: docker-jetty\n      technology: \"gRPC golang, plantuml\"\n      desc: \"render visualization of archtecture design given a arc data blob specifications\"\n      components:\n      - name: arcviz\n        desc: grpc server to structure the layout into markup for renderer\n      - name: plantuml-renderer\n        desc: vizualize server using plantuml\n\nexternal-systems:\n  - name: dev-ide\n    desc: software developement editor and integrated environment\n\nrelations:\n  - { s: dev, p: design and develop software, o: arc}\n  - { s: arc.arcli, p: send render request (gRPC), o: arc.arcviz}\n  - { s: dev-ide, p: integrate, o: arc.arcli}\n```\n\nto visualize this, simply run from the same directory this file is in:\n\n    arcli inspect \n\n\n**This project is underconstruction**\n\nUtilizing and base on works done from:\n- [PlantUML](https://github.com/plantuml/plantuml)\n- [C4-PlantUML](https://github.com/RicardoNiepel/C4-PlantUML)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoderizer%2Farc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoderizer%2Farc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoderizer%2Farc/lists"}