Skip to content

"Architecture as Code" (AasC) aims to devise and manage software architecture via a readable and version-controlled codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software architectures

License

Notifications You must be signed in to change notification settings

rocketstack-matt/architecture-as-code

 
 

Repository files navigation

FINOS - Incubating OpenSSF Best Practices CodeQL CVE Scanning for Maven CVE Scanning for Node.js License Scanning for Maven License Scanning for Node.js

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.

Projects

Project Lead Maintainers Builds
Common Architecture Language Model @rocketstack-matt, @jpgough-ms Validation of CALM Samples
Docs @rocketstack-matt Sync Docs to S3 Build Docs
CLI & Shared @aidanm3341, @lbulanti-ms, @willosborne, @grahampacker-ms @Thels Build CLI Build Shared Module
Translators @Budlee @matthewgardner @jpgough-ms Build Translator

Getting Involved

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.

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 are suggested for first time contributors.
  2. Fork the repo (https://github.com/finos/architecture-as-code/fork)
  3. Create your feature branch (git checkout -b feature/fooBar)
  4. Read our contribution guidelines and Community 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.

SPDX-License-Identifier: Apache-2.0

About

"Architecture as Code" (AasC) aims to devise and manage software architecture via a readable and version-controlled codebase, fostering a robust understanding, efficient development, and seamless maintenance of complex software architectures

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 81.7%
  • Java 13.2%
  • JavaScript 5.0%
  • Dockerfile 0.1%