Monorepo global des autres repos
Find a file
Lameur 44f958cbde
Updated global architecture + cleanup
Signed-off-by: Lameur <adam.auclair@outlook.fr>
2026-06-11 17:03:09 +02:00
.mise Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
apps@b1bd2e714e Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
architecture@155a04c73d Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
aur@b78e7c7c9e Update to monorepo architecture 2026-05-25 22:06:16 +02:00
choco@a439eef5ee Update to monorepo architecture 2026-05-25 22:06:16 +02:00
homebrew@eb613980bd Update to monorepo architecture 2026-05-25 22:06:16 +02:00
meta@0b5ea25af8 Update to monorepo architecture 2026-05-25 22:06:16 +02:00
nix@56f2d92fdb Update to monorepo architecture 2026-05-25 22:06:16 +02:00
scoop@0bc55d4dc1 Update to monorepo architecture 2026-05-25 22:06:16 +02:00
updater@0dc18e721b Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
winget@90cd42d7ec Update to monorepo architecture 2026-05-25 22:06:16 +02:00
.cursorrules Update to monorepo architecture 2026-05-25 22:06:16 +02:00
.gitignore Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
.gitmodules Update to monorepo architecture 2026-05-25 22:06:16 +02:00
.luaurc Update to monorepo architecture 2026-05-25 22:06:16 +02:00
AGENTS.md Update to monorepo architecture 2026-05-25 22:06:16 +02:00
CLAUDE.md Update to monorepo architecture 2026-05-25 22:06:16 +02:00
foundry.code-workspace Update to monorepo architecture 2026-05-25 22:06:16 +02:00
LICENSE Initial commit 2026-05-25 21:31:46 +02:00
mise.toml Updated global architecture + cleanup 2026-06-11 17:03:09 +02:00
README.md Update to monorepo architecture 2026-05-25 22:06:16 +02:00

Foundry

Forge logicielle — définir une app une fois, packager partout.

À partir d'un simple definition.toml, Foundry orchestre des builds reproductibles et signés pour toutes les plateformes : Linux (Flatpak, AppImage, deb, rpm), Windows (NSIS, MSI, winget), macOS (DMG, Homebrew), et Web/WASM.

Repos

Repo Rôle
apps Cœur — définitions des apps, pipeline CI, builders Luau
architecture Documentation transversale, types Luau, schémas
updater Exécutable autonome de mise à jour
meta Index JSON et feed de releases
nix Flake Nix et overlay nixpkgs
scoop Bucket Scoop (Windows)
winget Manifests winget (Windows)
homebrew Tap Homebrew (macOS)
aur PKGBUILDs (Arch Linux)
choco Packages Chocolatey (Windows)

Démarrage rapide

# Cloner avec tous les submodules
git clone --recurse-submodules https://git.stalla.dev/foundry/foundry
cd foundry
mise install

# Builder toutes les apps
mise fb

# Builder une seule app
APP=aseprite mise fb

# Release complète (build + signature + publication)
mise fr

Stack

  • Lune — runtime Luau, tous les scripts de build
  • mise — toolchains et orchestration des tasks
  • cosign — signature keyless via Sigstore
  • sccache — cache de compilation distribué (S3)

Ajouter une app

Créer apps/apps/<nom>/definition.toml :

[project]
id      = "dev.example.MyApp"
name    = "MyApp"
version = "1.0.0"
command = "myapp"

[[source]]
type = "git"
url  = "https://github.com/example/myapp.git"
tag  = "v1.0.0"

[build]
system    = "cmake"
toolchain = ["cmake", "ninja"]

[linux]
formats = ["flatpak"]
[linux.flatpak]
runtime         = "org.freedesktop.Platform"
runtime_version = "25.08"
sdk             = "org.freedesktop.Sdk"
finish_args     = ["--share=ipc", "--socket=wayland", "--filesystem=home"]

[sign]
enabled = true

Le schéma complet est dans architecture/schemas/definition.md.

Documentation

Tout est dans architecture/ — architecture générale, détail de chaque repo, référence du schéma, et guide pour agents IA.