{"id":50771004,"url":"https://github.com/monaccode/astromesh-os","last_synced_at":"2026-06-11T18:30:50.053Z","repository":{"id":362723463,"uuid":"1260505586","full_name":"monaccode/astromesh-os","owner":"monaccode","description":"Minimal, immutable, API-only Linux distro (appliance) for running Astromesh AI agents","archived":false,"fork":false,"pushed_at":"2026-06-05T18:11:31.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T18:13:23.379Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monaccode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-05T15:05:14.000Z","updated_at":"2026-06-05T18:11:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/monaccode/astromesh-os","commit_stats":null,"previous_names":["monaccode/astromesh-os"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/monaccode/astromesh-os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monaccode%2Fastromesh-os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monaccode%2Fastromesh-os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monaccode%2Fastromesh-os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monaccode%2Fastromesh-os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monaccode","download_url":"https://codeload.github.com/monaccode/astromesh-os/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monaccode%2Fastromesh-os/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34213179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T18:30:49.107Z","updated_at":"2026-06-11T18:30:50.048Z","avatar_url":"https://github.com/monaccode.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# astromesh-os\n\nMinimal, immutable, API-only Linux distribution (appliance) whose sole purpose is\nrunning Astromesh AI agents (`astromeshd`). See the design docs in\n`docs/superpowers/specs/`.\n\n## Status: Fase 0 (validación del unit)\n\nPhase 0 builds a **standard** Debian-trixie mkosi image that runs Astromesh-core as a\nsystemd service and answers one agent query. It is intentionally NOT minimal/immutable\nyet — that is Fase 1+.\n\n## Build (local, vía Docker)\n\nmkosi and QEMU are Linux-only. On Windows/macOS, build inside a privileged Debian\ncontainer:\n\n```bash\ndocker run --rm -it --privileged -v \"$PWD\":/work -w /work debian:trixie bash\n# inside the container:\napt-get update \u0026\u0026 apt-get install -y mkosi qemu-system-x86 git python3 python3-pip\n# build the runtime .deb first (see .github/workflows/phase0-ci.yml), then:\nPHASE0_MODE=stub mkosi build\n```\n\nCI (GitHub Actions) is the authoritative gate: see `.github/workflows/phase0-ci.yml`.\n\n## Local dev loop (WSL2 + KVM)\n\nFor fast iteration without waiting on CI (and without the TCG flakiness of\nGitHub-hosted runners), reproduce the boot/update gate locally in WSL2 with KVM.\n\n**One-time setup (from the Windows host):**\n\n```powershell\nwsl --install -d Debian --no-launch\n# enable systemd + drvfs metadata, then apply:\nwsl -d Debian -u root -- bash -lc \"printf '[boot]\\nsystemd=true\\n\\n[automount]\\noptions=metadata\\n' \u003e /etc/wsl.conf\"\nwsl --shutdown\n# install the same toolset CI uses:\nwsl -d Debian -u root -- bash -lc \"apt-get update \u0026\u0026 apt-get install -y mkosi systemd-ukify systemd-boot systemd-boot-efi mtools dosfstools ca-certificates qemu-system-x86 qemu-utils ovmf curl rsync git python3\"\n# verify KVM is exposed (needs nested virtualization, default on Win11):\nwsl -d Debian -u root -- ls -l /dev/kvm\n```\n\nIf `/dev/kvm` is missing, add `nestedVirtualization=true` under `[wsl2]` in\n`%UserProfile%\\.wslconfig` and `wsl --shutdown`.\n\n**The runtime `.deb`** (rarely changes — depends only on `runtime.pin`). Fetch the\nlatest CI build once into `dist/` (run on the Windows side, where `gh` is authed):\n\n```powershell\ngh run download -n astromesh-deb -D dist\n```\n\n**Run the loop** (as root in WSL — mkosi needs loop devices). The source of truth\nstays on `D:\\`; the harness rsyncs into `~/astromesh-build` (native ext4) and builds\nthere (drvfs can't host a mkosi rootfs build):\n\n```powershell\nwsl -d Debian -u root -- bash /mnt/d/monaccode/astromesh-os/tests/local/dev-loop.sh update\n```\n\nTargets: `build` (image only) · `boot` (single-boot + IMMUTABILITY/health assert) ·\n`update` (full A/B v1→v2 gate, default) · `inspect` (UKI roothash vs on-disk verity\nPARTUUIDs) · `clean`. CI remains the authoritative gate; the local loop is for fast\niteration before push.\n\n## Bumping the runtime version\n\nEdit `ASTROMESH_REF` in `runtime.pin` to a new commit SHA of `monaccode/astromesh`,\nthen re-run CI. The image is reproducible from that exact ref.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonaccode%2Fastromesh-os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonaccode%2Fastromesh-os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonaccode%2Fastromesh-os/lists"}