https://github.com/theam/magek
A framework to build event-driven AI apps
https://github.com/theam/magek
agentic-ai event-sourcing framework
Last synced: 2 months ago
JSON representation
A framework to build event-driven AI apps
- Host: GitHub
- URL: https://github.com/theam/magek
- Owner: theam
- License: apache-2.0
- Created: 2025-06-16T18:13:50.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T00:20:58.000Z (2 months ago)
- Last Synced: 2026-01-31T00:27:03.631Z (2 months ago)
- Topics: agentic-ai, event-sourcing, framework
- Language: TypeScript
- Homepage: https://magek.ai
- Size: 25.4 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: .github/README_CICD.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Notice: NOTICE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Magek GitHub CI/CD
This document describes the process and structure of the configuration of the project's GitHub actions and workflows.
Magek as a project has some special needs in terms of CI/CD compared to your regular project because it is a framework,
and it handles so much complexity. So we have to make sure that everything works flawlessly as much as possible. Take into
account that:
- Because it is a framework and not only a library, the framework will take decisions on behalf of the user, in terms of design
and other things, so in case of failure, we make sure that we have done as much as possible to prevent it so
the user is not confused.
- It handles many moving pieces, so everything is double-checked to prevent errors.
We always keep improving our CI/CD processes, but we always make sure that we have the above covered.
The two main folders you have to look at are:
- `.github/actions`
- `.github/workflows`
Here we define the components that we reuse to simplify the CI/CD as much as possible.
## The Actions folder
The actions folder defines a couple of reusable actions that we use throughout the CI/CD process:
- `build`
- This action ensures that the dependencies are properly cached and then tries
to build the project.
- `call-rush`
- This action uses the command passed as a parameter to call `rush`. It will install rush if it's not installed on the current CI/CD machine.
## Workflows
This folder uses the following convention:
- Files prefixed with `re_` are [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows) and are meant to be used instead of copy-pasting jobs
- Files prefixed with `wf_` are regular workflows that define workflows in the GitHub Actions CI/CD pipeline
- Files get their name in descending order, in the sense of the things they do. E.g.
- `test-unit` instead of `unit-tests`
There are some special workflow files like `codeql-analysis` or `codesee-arch-diagram` that are handled by 3rd party services and are left
with their default name.