https://github.com/finos/architecture-as-code
"Architecture as Code" (AasC) aims to devise and manage software architecture via a machine readable and version-controlled codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software architectures
https://github.com/finos/architecture-as-code
architecture automation devops
Last synced: about 2 months ago
JSON representation
"Architecture as Code" (AasC) aims to devise and manage software architecture via a machine readable and version-controlled codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software architectures
- Host: GitHub
- URL: https://github.com/finos/architecture-as-code
- Owner: finos
- License: apache-2.0
- Created: 2023-11-28T11:20:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-14T20:32:33.000Z (6 months ago)
- Last Synced: 2025-07-15T01:01:31.670Z (6 months ago)
- Topics: architecture, automation, devops
- Language: Java
- Homepage: https://calm.finos.org
- Size: 45.2 MB
- Stars: 113
- Watchers: 14
- Forks: 57
- Open Issues: 103
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://finosfoundation.atlassian.net/wiki/display/FINOS/Incubating)
[](https://www.bestpractices.dev/projects/8821)
[](https://github.com/finos/architecture-as-code/actions/workflows/github-code-scanning/codeql)
[](https://github.com/finos/architecture-as-code/actions/workflows/cve-scanning-maven.yml)
[](https://github.com/finos/architecture-as-code/actions/workflows/cve-scanning-node.yml)
[](https://github.com/finos/architecture-as-code/actions/workflows/license-scanning-maven.yml)
[](https://github.com/finos/architecture-as-code/actions/workflows/license-scanning-node.yml)

# Architecture as Code
**Architecture as Code (AasC)** aims to devise and manage software architecture via a human and machine readable and
version-controlled
codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software
architectures.
This repository contains the Common Architecture Language Model (CALM) Specification, as well as capabilities being
built to utilize the specification. This page lists the domains and capabilities being built by the official AasC community.
Whilst others are welcome to build their own capabilities, away from the AasC monorepo, we encourage you to join the
community and contribute your projects to the AasC monorepo which has the benefits of being visible to the whole
community; thereby attracting contributions and ensuring that changes to the manifest will be proactively built against
your project.
Ready to get started? Read the [CALM quickstart guide](https://calm.finos.org/quick-start/).
## Projects
| Project | Lead Maintainers | Builds |
|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Common Architecture Language Model](./calm) | [@rocketstack-matt](https://github.com/rocketstack-matt), [@jpgough-ms](https://github.com/jpgough-ms) | [](https://github.com/finos/architecture-as-code/actions/workflows/validate-spectral.yml) |
| [CLI](./cli), [Shared](./shared), [Models](./calm-models) & [Widget Framework](./calm-widgets) | [@aidanm3341](https://github.com/aidanm3341), [@lbulanti-ms](https://github.com/lbulanti-ms), [@willosborne](https://github.com/willosborne), [@Thels](https://github.com/Thels), [@LeighFinegold](https://github.com/LeighFinegold) | [](https://github.com/finos/architecture-as-code/actions/workflows/build-cli.yml) |
| [CALM AI](./calm-ai) | [@rocketstack-matt](https://github.com/rocketstack-matt) | No build, prompt tools only, managed separately to CLI for easier maintenance and broader reuse. |
| [CALM Hub](./calm-hub) | [@jpgough-ms](https://github.com/jpgough-ms), [@grahampacker-ms](https://github.com/grahampacker-ms) | [](https://github.com/finos/architecture-as-code/actions/workflows/build-calm-hub.yml) |
| [CALM Hub UI](./calm-hub-ui) | [@oliviajanejohns](https://github.com/oliviajanejohns), [@aidanm3341](https://github.com/aidanm3341), [@aamanrebello](https://github.com/aamanrebello), [@yoofitt96](https://github.com/YoofiTT96) | [](https://github.com/finos/architecture-as-code/actions/workflows/build-calm-hub-ui.yml) |
| [Docs](./docs) | [@rocketstack-matt](https://github.com/rocketstack-matt) | [](https://github.com/finos/architecture-as-code/actions/workflows/s3-docs-sync.yml) [](https://github.com/finos/architecture-as-code/actions/workflows/build-docs.yml) |
| [CALM VSCode Plugin](./calm-plugins/vscode) | [@LeighFinegold](https://github.com/LeighFinegold), [@rocketstack-matt](https://github.com/rocketstack-matt) |  |
## Getting Involved
Architecture as Code was developed as part of the [DevOps Automation Special Interest Group](https://devops.finos.org/) before graduating as a top level project in it's own right. Our community Zoom meetups
take place on the fourth Tuesday of every month,
see [here](https://github.com/finos/architecture-as-code/issues?q=label%3Ameeting) for
upcoming and previous meetings. For active contributors we have Office Hours every Thursday, see the [FINOS Event Calendar](http://calendar.finos.org) for meeting details.
Have an idea or feedback? [Raise an issue](https://github.com/finos/architecture-as-code/issues/new/choose) in this
repository.
## Contributing
Architecture as Code operates as a monorepo, in here you will find both the CALM JSON Schema and the various projects
that are being built to utilize the CALM specification.
We accept contributions via Pull Request, to make a contribution:
1. Pick an issue you are interested in contributing to (or raise one yourself) and speak to the lead maintainers about what you plan to do either in the issue itself or come to a meetup. [Some issues](https://github.com/finos/architecture-as-code/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) are suggested for first time contributors.
2. Fork the repo ()
3. Create your feature branch (`git checkout -b feature/fooBar`)
4. Read our [contribution guidelines](.github/CONTRIBUTING.md)
and [Community Code of Conduct](https://www.finos.org/code-of-conduct)
5. Commit your changes (`git commit -am 'Add some fooBar'`)
6. Push to the branch (`git push origin feature/fooBar`)
7. Create a new Pull Request
## GitHub actions
There aren't many standards to follow when it comes to Github actions - but some good rules of thumb for this project are;
- GitHub actions should follow the naming conventions of pre-existing actions to maintain consistency. So that users can find other build-related steps in the same place.
- Ensure that any obscure actions are documented so that others can follow and maintain them.
## Language Dependencies
### TypeScript Packages
Currently we have three typescript packages - two of which are managed via `npm workspaces` and one which is just raw `npm`. How these are built and manages slightly differs until they are all under the same worksapce - please look at their related github actions to learn how to build/test each of them.
## License
Copyright 2024 FINOS
Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0)