Skip to content
AxsionDevPublic
forked from anomalyco/opencode

About

Lunos — the EU-sovereign, self-hostable AI coding agent. A fork of opencode, not affiliated with the OpenCode team.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

16,581 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lunos logo

Lunos is the EU-sovereign, self-hostable AI coding agent — opencode's infrastructure plus Claude Code's platform features, built so a public-sector procurement officer can actually approve it.

Lunos is a fork of opencode. It is not built by, maintained by, or affiliated with the OpenCode team in any way — see Building on OpenCode below.

Why Lunos

Most AI coding agents are a single vendor's closed product running in that vendor's cloud, under that vendor's jurisdiction. For a bank, a hospital, a municipal platform, or anyone with a data-protection obligation, that is not a procurement conversation that ends well.

Lunos is built for the organisations that have to answer those questions:

  • Self-hostable, not merely "EU region". Run it inside your own infrastructure. Sovereignty is an architectural property — who controls the deployment, which law governs the processor, what the sub-processor chain looks like — not a region toggle in someone else's console.
  • Provider-agnostic by design. Inherited from opencode. If you cannot send code to a US-headquartered provider, you still have a working agent. If you can, you keep the frontier models. A single-vendor product cannot offer that by construction.
  • Open source, auditable, forkable. You can read what it does, and it keeps working if any vendor changes terms.
  • Answerable in a procurement review. The explicit design target, not an afterthought.

What Lunos is not claiming: it is not at feature parity with closed single-vendor agents today. The gap is real and the work is tracked in the open. The claim is structural — a closed single-vendor product cannot become self-hostable and provider-agnostic without ceasing to be itself, whereas an open fork can close a feature gap.

Project status

Lunos is early. Phase 0 — forking, rebranding, and standing up its own governance, CI and release pipeline — is complete, and Lunos now publishes releases under its own name. Phase 1 (sovereignty foundation) has landed provider jurisdiction metadata and enforceable data-residency controls; see the self-hosted deployment guide.

Treat it as early software rather than production-ready: binaries are not code-signed, and feature parity with upstream is not claimed or measured.

Decision records for the work so far live in .claude/docs/ — covering the upstream sync policy, the CI workflow triage, and the product name freeze.

Behind upstream opencode How far Lunos is behind upstream opencode: the age of the oldest upstream commit not yet merged, measured daily. Upstream changes arrive as a weekly merge PR; the target is no more than 14 days.

A published roadmap and a feature-parity comparison table are still to come.

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

Terminal UI — upstream opencode, pending a Lunos capture


Installation

# npm — verified end to end at v1.18.39 on npm 10 and npm 12
npm i -g lunos-ai@latest --allow-scripts=lunos-ai   # or bun/pnpm/yarn
lunos --version

# install script
curl -fsSL https://raw.githubusercontent.com/AxsionDev/Lunos/dev/install | bash

npm 12 needs --allow-scripts=lunos-ai. npm 12 no longer runs install scripts by default, so without the flag the package installs but its postinstall (which fetches the lunos binary) is skipped, and lunos exits with "lunos-ai's postinstall script was not run". Earlier npm versions accept the flag and run the script either way.

The install script places the binary in $HOME/.lunos/bin and offers to add it to your PATH. Standalone archives for Linux, macOS and Windows are also attached to each release as lunos-<os>-<arch>.

Channels Lunos does not publish to yet: Homebrew, Scoop, Chocolatey, AUR, Nix and mise. They are listed here as absent rather than shown as commands that would fail.

Note

Binaries are not code-signed yet, so macOS Gatekeeper and Windows SmartScreen will warn. The npm package and building from source are unaffected.

Deploying in a regulated or public-sector environment? See the self-hosted deployment guide, which covers data flows, EU data-residency controls, and what the sovereignty claim does and does not cover.

Tip

Remove versions older than 0.1.x before installing.

Desktop App (BETA)

Lunos is also available as a desktop application, attached to each Lunos release.

Platform Download
macOS (Apple Silicon) lunos-desktop-mac-arm64.dmg
macOS (Intel) lunos-desktop-mac-x64.dmg
Windows lunos-desktop-win-x64.exe
Linux lunos-desktop-linux-*.deb / .rpm / .AppImage

It installs as Lunos (app ID tech.lunos.desktop) and checks for updates on Lunos releases only. It downloads an update in the background and installs it only when you choose to restart.

Warning

Don't use the opencode-desktop-* files attached to v1.18.40 and earlier. Those builds install as "OpenCode" and check upstream opencode's releases for updates, so they offer to replace themselves with upstream opencode (XCOD-123). If you installed one, uninstall it and install the lunos-desktop-* build from a later release.

The desktop builds are not code-signed, so macOS Gatekeeper and Windows SmartScreen warn on first launch. See Verify your download.

Installation Directory

The install script installs to $HOME/.lunos/bin and offers to add that directory to your PATH.

Note

Upstream's install script honoured $OPENCODE_INSTALL_DIR, $XDG_BIN_DIR and $HOME/bin before falling back to a default. Lunos's install script does not — INSTALL_DIR is currently fixed (install:68), so setting those variables has no effect. This section previously documented the upstream behaviour, which was inaccurate for Lunos.

To install somewhere else today, download the archive from the releases page and place the lunos binary where you want it, or use npm i -g lunos-ai@latest --allow-scripts=lunos-ai and let npm decide. Restoring the override is a code change, tracked separately.

Modes

Lunos ships four built-in modes. Cycle through them with Tab, or Shift+Tab to go back. Each mode is a different permission posture, not a different model.

  • build — the default. Executes tools according to your configured permissions.
  • plan — disallows every edit tool. Plans are written to .opencode/plans/, so it can record its thinking without touching your code.
  • research — deep investigation of a topic or goal, with no code changes. Output is Markdown files and specs under .opencode/research/.
  • dev-cycle — the full development cycle: discover, architect, plan, build and verify, with human approval gates between phases.

Alongside these are subagents, which a mode delegates to rather than you selecting directly: general (complex searches and multi-step tasks), explore, architect, planner and qa. Invoke one explicitly by mentioning it in a message, e.g. @general.

Note

Modes were called agents before the rename. agent_cycle still works as an alias for mode_cycle in keybindings, so existing configs keep working.

Documentation

Lunos has no documentation site yet. What exists lives in this repository:

For configuration options not covered above, upstream opencode's documentation still largely applies, since Lunos inherits its configuration format — but it describes opencode, and the two have begun to diverge. Treat it as a reference, not as Lunos documentation.

Contributing

If you're interested in contributing to Lunos, please read our contributing docs before submitting a pull request.

Licence

Lunos is MIT-licensed, and everything in this repository stays MIT. ITService EOOD, which develops Lunos, is planning paid additions, such as a hosted service (Lunos Cloud) and team features. Those will be new code in separate repositories, under their own licences. Nothing in this repository will move behind a paywall. See docs/licensing.md.

Building on OpenCode

If you are working on a project that's related to OpenCode and is using "opencode" as part of its name, for example "opencode-dashboard" or "opencode-mobile", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.


Lunos has no community channels of its own yet. For questions about Lunos, open a GitHub issue.

Upstream opencode's community — not affiliated with Lunos — is at Discord and X.com.

About

Lunos — the EU-sovereign, self-hostable AI coding agent. A fork of opencode, not affiliated with the OpenCode team.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages