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.
Project | Lead Maintainers | Builds |
---|---|---|
Common Architecture Language Model | @rocketstack-matt, @jpgough-ms | |
Docs | @rocketstack-matt | |
CLI & Shared | @aidanm3341, @lbulanti-ms, @willosborne, @grahampacker-ms @Thels | |
Translators | @Budlee @matthewgardner @jpgough-ms |
Architecture as Code is part of the DevOps Automation Special Interest Group. Our Zoom meetups take place on the fourth Tuesday of every month, see here for upcoming and previous meetings.
Have an idea or feedback? Raise an issue in this repository.
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:
- 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 are suggested for first time contributors.
- Fork the repo (https://github.com/finos/architecture-as-code/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Read our contribution guidelines and Community Code of Conduct
- Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Currently we have three typescript packages - two of which are managed via npm workspaces
and one which is just raw npm
.
Copyright 2024 FINOS
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0