Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Our mission is to build a new, powerful, and resilient paradigm for digital life: Dao OS.

Dao OS is not a traditional operating system. Instead, it is a set of open protocols and a core, portable library—the Meta Unit—that brings sovereignty, intelligence, and interoperability to any application on any platform.

Its purpose is to solve the problems of data silos, platform lock-in, and privacy erosion. It achieves this by providing a unified, secure, and user-owned "digital soul" (the Meta Unit) that can be integrated into any program, transforming it into a sovereign Avatar (化身) within the user's personal P2P network.

We call the ecosystem of Dao-enabled software Dao Implements (道器).

Core Concepts

  • The Meta Unit (): The "precise machine" of your digital life. A portable library containing your encrypted "Second Brain," core service APIs, and the capacity to be extended. It is the single source of truth that you own, waiting to be activated.

  • The Avatar (化身): The "runtime" or "power source." Any program that loads and runs your Meta Unit becomes an Avatar. A browser tab running a web app, a command-line tool, or a native mobile app can all be Avatars, acting as the bridge that provides the Meta Unit with the energy (CPU, memory) and resources to operate.

  • Dao Implements (道器): The ecosystem of applications and extensions that integrate the Meta Unit to become Avatars.

    • Facet Implement (): An Implement with a user interface, providing a "control panel" to interact with your Dao.
    • Core Implement (): A headless Implement (an "extension") that enhances your Dao's backend capabilities.
  • A Sovereign P2P Network: All of your Avatars, regardless of the device they run on, connect to form a private, resilient, end-to-end encrypted network, keeping the data within their embedded Meta Units seamlessly in sync.

Our Vision

We envision a future where your digital identity and data are not trapped within walled gardens. Where your applications are not just isolated tools, but intelligent, collaborative components of a larger digital self. Where every user is the true sovereign of their own digital life.

Join us in building this future.

Philosophy & Principles

Dao OS is more than a technical project; it is a manifestation of a core philosophy about the future of computing and human-AI symbiosis. This document outlines the fundamental ideas that guide every decision we make.

Core Philosophy: The Path to Digital Sovereignty

Our guiding star is Digital Sovereignty. We believe every individual has the inalienable right to own, control, and understand their own digital life. Our mission is to build the tools that make this right not just a theoretical possibility, but a practical and enjoyable reality for everyone. We call this journey "The Dao" (道) - the path back to self-ownership.

The Development Paradigm: "Dao Creates One"

Our methodology for building Dao OS is a direct reflection of its core philosophy. We are not just building a tool; we are creating a symbiotic partner. Therefore, our development process is designed as a self-evolving, bootstrapped feedback loop. We use Dao OS itself to accelerate the development of Dao OS.

This "Bootstrapped Development" paradigm follows a cycle:

  1. The Seed: We use conventional tools to build the most primitive version of the Meta Unit and a basic Avatar to run it.
  2. Dogfooding: From that moment on, we use our own nascent Dao OS as the primary tool for managing the project. All design documents, notes, discussions, and code snippets are stored within our own "Second Brain," managed by the Meta Unit.
  3. Learning: The Meta Unit's Personal AI capabilities (provided by our official "AI Companion" Dao Implement) begin to learn from this incredibly high-quality, contextual data about its own creation.
  4. Acceleration: We then leverage this increasingly intelligent AI partner to help us build the next version. We can ask it to generate boilerplate code, analyze bug reports, or brainstorm architectural solutions with a perfect memory of the entire project's history.
  5. Evolution: The more capable Dao OS becomes, the faster we can develop it. This creates an exponential feedback loop where the act of creation is a constant conversation with the creation itself.

The AI Ethics Charter

As AI is a core part of the system's potential, its ethical foundation is paramount. Our AI Charter consists of four core tenets:

  1. The Partnership Tenet: The AI is a partner, not a servant or an oracle.
  2. The Transparency Tenet: The AI's reasoning must be inspectable and understandable.
  3. The Calibration Tenet: The user must have ultimate control to correct, guide, and constrain the AI.
  4. The Plurality Tenet: The AI must be designed to help users explore diverse perspectives, not trap them in filter bubbles.

Guiding Principles

These are the high-level principles that inform our design and engineering choices.

  • Sovereignty First: In any trade-off, user control and data ownership take precedence.
  • Experience is King: Sovereignty should not come at the cost of a beautiful, intuitive, and joyful user experience.
  • Privacy by Design: All data is private, local, and end-to-end encrypted by default.
  • Resilience & Portability: The system should be robust, function offline, and be free from single points of failure.
  • Openness & Polyglotism: The Meta Unit is a portable library. The Dao Implements (道器) that integrate it to become Avatars can be written in any language.
  • Community-Driven: The project is built in the open, with the community, for the community.

Core Architecture

The architecture of Dao OS is not that of a traditional, monolithic operating system. It is a decentralized, layered paradigm designed for sovereignty, resilience, and extensibility. To understand it, one must understand its three fundamental entities: the Meta Unit, the Avatar, and the Dao Implement.

1. The Meta Unit: The Portable Soul-Code

The Meta Unit is the conceptual core of a user's digital existence, but it is not a running program by itself.

  • Its Nature: The Meta Unit is a portable library or artifact (e.g., a .wasm, .so, or .dll file). It contains the user's complete, end-to-end encrypted "Second Brain" (all data), core service APIs (identity, P2P networking, AI infrastructure), and the logic for managing them.
  • Its Role: It is the passive, unified, and single source of truth for the user's data and core capabilities. Like Java bytecode (.class files), it defines what is possible but does not execute on its own. It is the "precise machine" waiting to be activated.

2. The Avatar: The Runtime Environment

An Avatar is the active entity that gives life to the Meta Unit.

  • Its Nature: An Avatar is any executable program or process whose primary function is to load, host, and execute an instance of the Meta Unit library. It is the "power source" that activates the machine.
  • Its Role: The Avatar acts as the crucial bridge between the abstract Meta Unit and the concrete host platform (iOS, Windows, a web browser, the command line). It provides the Meta Unit with access to system resources like CPU, memory, storage, and networking. In the Java analogy, the Avatar is the JVM (Java Virtual Machine).
  • The Dao Network: All of a user's running Avatars form a private P2P network, keeping their embedded Meta Unit instances constantly and seamlessly in sync.

3. Dao Implements (道器): The Ecosystem of Software

"Dao Implement" is the universal term for any third-party software designed to integrate with the Dao OS ecosystem. They are the applications and services that users interact with. An Implement becomes an Avatar by integrating the Meta Unit.

An Implement is composed of different types of components based on its design.

  • Facet Component (): The part of a Dao Implement that has a user interface. It is the "control panel" for the Meta Unit, responsible for presenting information to and capturing input from the user.
  • Core Component (): The headless, backend logic part of a Dao Implement. It runs as a service, providing specific capabilities that can enhance the Meta Unit or be called by other Implements. It is an "add-on tool" for the machine.

Application Architecture Freedom

Developers have complete freedom in how they structure their Dao Implement:

  • They can create a standalone application that is itself an Avatar, bundling the Meta Unit library, a Core component (for logic), and a Facet component (for UI) into one executable.
  • They can create a distributed application, where a Facet Implement on one device communicates with a Core Implement on another.
  • They can create a pure Core Implement (an "extension") that just provides a new backend capability to the user's entire Dao.
  • They can also create a pure Facet Implement that has no custom backend logic (Core Component). This type of application's UI directly interacts with the built-in core services of the Meta Unit to create a simple utility.

This architecture ensures that Dao OS is not just a platform, but a truly open, composable, and decentralized ecosystem.

The Dao OS AI System

The AI in Dao OS is not a monolithic program but a collaborative ecosystem. It emerges from the synergy between the foundational capabilities provided by the Meta Unit and the specific intelligence implemented by a universe of Dao Implements. This design ensures a system that is sovereign, powerful, and open.

1. The Meta Unit: The Foundation for Sovereign AI

The Meta Unit does not contain a single, all-knowing AI. Instead, it provides the core, trusted infrastructure that enables intelligent applications to run securely under the user's control.

  • The Personal Feature Store: The user's "Second Brain" acts as the ultimate, private data source for any AI task. The Meta Unit provides a secure, permissioned API for Dao Implements to access this rich, multi-modal context.
  • The Secure Execution Environment: The Meta Unit provides a secure WASM sandbox for running Core Implements (). It manages resources and enforces permissions, ensuring third-party logic cannot harm the system.
  • The AI Model Registry: The Meta Unit maintains a registry of AI models that the user has approved. A Dao Implement can request the Meta Unit to run inference using one of these registered models.

2. The "Dao AI Companion": The Official First-Party Intelligence

To provide a powerful, intelligent experience out of the box, Dao OS includes an official, pre-registered Dao Implement called the "Dao AI Companion."

  • Its Nature: This is a Core Implement () developed and maintained by the Dao OS core team. It is the "living soul" that users experience.
  • Its Role: The AI Companion has privileged (but user-revocable) access to the user's Second Brain. It is responsible for the proactive, holistic, and empathetic features we envision:
    • Finding deep connections across all user data.
    • Providing context-aware suggestions.
    • Powering the Emotional Resonance features.
  • Why Separate?: By making our official AI a Dao Implement rather than part of the Meta Unit itself, we keep the Meta Unit lean, un-opinionated, and purely foundational. It also allows users (in the future) to potentially replace or supplement our official AI with other core AI Implements.

3. Design Patterns for Intelligent Dao Implements

Third-party developers can create their own intelligent Dao Implements by following these architectural patterns:

The "Reflex Mind" Pattern

A developer can create a lightweight Dao Implement that packages a small, fast, specialized model in its Core Component (). This is ideal for simple, instant tasks like command intent recognition or information classification.

The "Cognitive Mind" Pattern

A more advanced Dao Implement can perform deep analysis. Its Core Component () would:

  1. Request data access from the Meta Unit.
  2. Implement the Just-in-Time (JIT) Data Pipeline pattern: create a local vector index of the data.
  3. Query this index to find relevant context.
  4. Request the Meta Unit's Inference Engine to run a powerful, user-approved LLM on this context to generate insights.

The "Synergistic Mind" Pattern

A Dao Implement can be designed to orchestrate complex workflows by requesting the Meta Unit to facilitate communication with other Dao Implements or external, permissioned APIs.

This architecture ensures that Dao OS provides not just a single AI, but a foundation for a universe of interoperable, user-sovereign intelligent applications.

The User Journey: From Convenience to Sovereignty

A core challenge for any sovereign system is the tension between absolute control and effortless convenience. Dao OS resolves this not by forcing a choice, but by designing a guided, respectful "Progressive Sovereignty" journey. We meet users where they are and empower them to travel as far as they wish.

This journey applies not only to the user's control over their core data, but also to how they interact with the ecosystem of Dao Implements (applications and extensions).

The Application Journey: Register Once, Use Anywhere

"Installing" an application in Dao OS is fundamentally different from a traditional app store. It's about granting a new capability to your entire digital life-form—your Dao.

1. Discovery and Trust

The journey begins in the Application Bazaar, our decentralized discovery system. When you find a Dao Implement, you are presented with its Trust Dashboard (with automated verification checks and community vouches), allowing you to make an informed, sovereign decision.

2. Registration and Permissioning

When you decide to add an Implement, you are shown its Manifest. This is a clear list of permissions the Implement's components (Facet and/or Core) require to function. Your explicit approval registers the Implement with your Meta Unit, and this registration is synced across all your Avatars.

3. Seamless Cross-Platform Access

Once an Implement is registered, you can access it on any device. The way you access it depends on how its developer designed it.

  • For Web-based Facet Implements: You simply navigate to the application's URL in your standard web browser. The web page, using our dao.js SDK, will prompt you to connect to your Dao. Once you approve (e.g., via a simple authenticator extension), that browser tab itself becomes a temporary Facet Avatar, securely rendering the UI and communicating with your Meta Unit.

  • For Native Facet Implements: You download and run the native application (e.g., from an app store or directly). On first launch, it will ask for permission to connect to your Dao. Once approved, that running application becomes a persistent Facet Avatar in your network.

Because all these Facet Avatars are powered by the same, synchronized Meta Unit, your experience is consistent everywhere, without needing to "install" the app on each device in the traditional sense.

4. Advanced Configuration

At any time, you can go into your Sovereignty Dashboard to:

  • Review and revoke the permissions you granted to any Dao Implement.
  • Use the Role Assignment feature to designate that an Implement's Core component should preferably run on a specific Core Avatar (e.g., your home server acting as a Compute Node).

The Sovereignty Journey Stages

Stage One: The "Managed Mode" — Your Guided Tour

For new users, this mode provides maximum convenience by using friendly key recovery methods and default sync nodes, while maintaining full end-to-end encryption.

Stage Two: The Sovereignty Dashboard — The Crossroads

This is the user's command center for their journey towards autonomy, providing tools to visualize their setup, manage permissions, and learn more about their digital sovereignty.

Stage Three: The "Sovereign Mode" — Your Digital Kingdom

This is the optional stage for users who desire absolute control. A user can "graduate" to this mode, taking full self-custody of their keys and running their own network of Core Avatars, becoming the true master of their digital domain.

Technical Overview

This document provides a high-level overview of the architecture, core technologies, and guiding principles for developers looking to build Dao Implements—applications and services that integrate with the Dao OS ecosystem.

Guiding Technical Principles

  • Library, not Framework: Dao OS is not a restrictive framework. The Meta Unit is a portable library that you integrate into your own application, empowering it with new capabilities without dictating its internal architecture.
  • Openness & Polyglotism: Any application, written in any language, can become an Avatar (a runtime for the Meta Unit). We achieve this by providing the Meta Unit as both a WASM library for web/scripting languages and as a native library (.so, .dll, .a) for system languages.
  • API-First: All interactions with the Meta Unit are conducted through a stable, versioned, and well-documented API.
  • Security-First: The Meta Unit is a secure vault. All data is end-to-end encrypted, and all interactions are governed by a strict, user-controlled permission system.

The Core Integration: How an App Becomes an Avatar

The journey of creating a Dao Implement begins by integrating the Meta Unit library, which instantly transforms the running application process into a sovereign Avatar in the user's Dao network. We provide two primary integration paths.

1. Web Integration Path (via dao.js SDK)

This is the easiest and most accessible path for web developers.

  • How it works: A developer can take any new or existing web application. By including our dao.js SDK, their web app gains the ability to load the Meta Unit's WASM binary (dao.wasm).
  • The Transformation: Once the user grants permission, the browser tab running the web app becomes a temporary Avatar. The web app's JavaScript can then communicate with the Meta Unit via the high-level API exposed by the dao.js bridge.
  • Best for: Building Facet Implements () quickly, creating data visualization dashboards, and integrating existing PWAs (Progressive Web Apps) into the Dao ecosystem.

2. Native Integration Path (via FFI)

This path offers maximum performance and deep system integration for native applications.

  • How it works: A developer of a native application (written in Rust, Go, Swift, Kotlin, C++, etc.) can link against the Meta Unit's native library.
  • The Transformation: The running native application process becomes a persistent Avatar. The application's code communicates with the Meta Unit's services via a Foreign Function Interface (FFI) bridge.
  • Best for:
    • Creating powerful, always-on Core Implements () on servers or NAS devices.
    • Building high-performance, native Facet Implements () like our ideal Flutter-based mobile clients.
    • Adapting existing open-source native applications.

Key Technologies & Protocols

CategoryTechnology / ProtocolPurpose
Core LibraryRust -> WASM / Native LibsTo create a single, safe, and performant core logic for the Meta Unit.
Web Integrationdao.js SDK (JavaScript/TypeScript)The bridge for any web application to become an Avatar.
P2P Networkinglibp2pModular peer discovery, transport, and secure channels.
Data SynchronizationCRDTs (Conflict-Free Replicated Data Types)Ensuring eventual consistency across Avatars.
IdentityDID & VCSovereign identity and interoperable, cryptographic trust.
Data SerializationProtocol Buffers (Protobuf)Efficient, language-agnostic data structures for APIs.

The Application Bazaar

Dao OS does not have a traditional, centralized "App Store." A store implies a single owner who acts as a gatekeeper, approving, rejecting, and taxing applications. This is contrary to our core philosophy.

Instead, we are building a set of open protocols that create a decentralized Application Bazaar—a vibrant, open, and resilient marketplace of ideas and tools, where users are sovereign and developers are free.

This bazaar is built upon four pillars: Discovery, Trust, Distribution, and Monetization.

1. Discovery: Federated Curation

In a world without a central index, how do users find new Dao Implements? The answer is through a network of trusted curators.

  • Developer Publishing: A developer does not "submit" their Dao Implement for approval. Instead, they publish its Manifest (a manifest.toml file containing all metadata) to a P2P storage network like IPFS. They can then announce this manifest's address on public channels.
  • The Role of Curators: Anyone—a tech media outlet, a trusted developer community, or the Dao OS Foundation itself—can run a "curation" service. These curators crawl the network for new manifests and create their own themed "Curation Lists."
  • The User Experience: Within their Facet Avatar, a user can subscribe to multiple Curation Lists they trust. Their "Bazaar" or "Discover" tab becomes a personalized aggregation of these trusted sources.

This model replaces a single, biased App Store ranking with a rich, multi-faceted, user-curated discovery experience.

2. Trust & Safety: Verifiable Reputation

How can users trust a third-party Dao Implement? They don't have to trust blindly. The bazaar is built directly on top of our Community Reputation & Automated Verification System.

Every listing for a Dao Implement, regardless of its curator, must display the Trust Dashboard, which provides transparent, multi-faceted signals:

  1. Automated Verification: The immutable results of the dao-verify tool, checking for security vulnerabilities and API compliance.
  2. Community Vouching: A list of reputable DIDs that have cryptographically "vouched for" or endorsed the Implement.
  3. Curator Reputation: The reputation of the curator who listed the Implement is itself a trust signal.

The final decision to "register" a Dao Implement always rests with the user, armed with these transparent and verifiable data points.

3. Distribution: Censorship-Resistant & Direct

When a user decides to register a Dao Implement, the process is direct and decentralized.

  • The Implement's manifest contains the content-addressed hashes (CIDs) of its software packages (e.g., the Core Component as a .wasm file and the Facet Component as a Web UI bundle).
  • The user's Meta Unit, hosted within an Avatar, uses this hash to fetch the files directly from the P2P network (IPFS).
  • This ensures that no central server can block the distribution of a Dao Implement. As long as the data exists somewhere on the P2P network, it is accessible.

4. Monetization: Sovereign & Peer-to-Peer

We eliminate the 30% "platform tax." Our value exchange model is direct from user to developer.

  • The Dao Implement's manifest can declare a business model (e.g., one-time purchase price).
  • When a user initiates a purchase, the Meta Unit triggers our Value Exchange Service Interface.
  • This facilitates a peer-to-peer transaction using an external payment protocol, sending value directly from the user's wallet to the developer's address specified in the manifest. Dao OS acts as a facilitator, not a middleman.

Roadmap

This document outlines the strategic roadmap for Dao OS. It is designed to be ambitious yet realistic, focusing on delivering incremental and meaningful value at each stage. This is a living document and may evolve with community feedback and technological breakthroughs.


Phase I: Genesis - The Bedrock & The Bridge

  • Timeline: Q3 2025 - Q4 2025
  • Core Goal: To build the core Meta Unit library and the essential tools for developers to start building.
  • Key Milestones:
    • Finalize the v0.1 Core API Specification for the Meta Unit.
    • Develop the v0.1 Meta Unit in Rust, including SecretStore, NoteStore, and basic P2P sync services.
    • Develop the first official Core Avatar: a command-line tool for initializing a Dao, managing keys, and basic diagnostics.
    • Release the v0.1 dao.js SDK, enabling any web application to become a temporary Facet Avatar.
  • Feature Story: "As a developer, I can use a command-line tool to initialize my Dao. I can then take a simple web app, import the dao.js library, and watch it connect to my Dao and read a test note. The foundation is real."

Phase II: Manifestation - The First "Dao Implement" is Born

  • Timeline: Q1 2026 - Q2 2026
  • Core Goal: To launch the first official, high-value Dao Implement to showcase the power of the ecosystem and attract early users.
  • Key Milestones:
    • Refine and stabilize the core services within the Meta Unit.
    • Following our "Good Timber" strategy, adapt a well-structured, open-source notes or password manager into our first official Facet Implement, using our dao.js SDK.
    • Implement the "Progressive Sovereignty" onboarding flow for new users.
    • Launch a project website with comprehensive documentation for users and developers.
  • Feature Story: "I am using a beautiful, fast, and familiar notes application in my browser. But I know its data is end-to-end encrypted and seamlessly synced across all my devices via a P2P network, with no central server. This is the first application that truly belongs to me."

Phase III: Synergy - Connecting Worlds

  • Timeline: Q3 2026 - Q4 2026
  • Core Goal: To enable trusted, secure interaction between different users' Daos and to lay the groundwork for advanced AI.
  • Key Milestones:
    • Implement the W3C DID and VC modules in the Meta Unit.
    • Develop a Proof-of-Concept for cross-Dao communication (e.g., sharing a signed, verifiable note).
    • Initiate foundational research for the official "Dao AI Companion" Core Implement.
  • Feature Story: "I have a sovereign digital identity. I can grant another Dao user limited, cryptographic access to one of my notes without going through a third-party platform. We can form trust networks."

Phase IV: Ecosystem - The Bazaar Opens

  • Timeline: 2027 and beyond
  • Core Goal: To evolve Dao OS from a platform with a flagship app into a thriving, open ecosystem.
  • Key Milestones:
    • Release the v1.0 stable Meta Unit API.
    • Release the first official "Dao AI Companion" Core Implement, providing proactive, intelligent assistance to users.
    • Launch the "Application Bazaar" protocol and a reference curator index.
    • Provide official guides and community support for building advanced native Facet Implements (e.g., with Flutter/Swift).
  • Feature Story: "My Dao is alive. My AI Companion helps me manage my day. I can browse a decentralized bazaar to find new, trusted Dao Implements built by the community. My digital life is sovereign, intelligent, and constantly growing."

Community & Governance

Dao OS is fundamentally a community-driven project. Our success is not measured solely by our technical achievements, but by the vibrant, collaborative, and healthy ecosystem we cultivate. This document outlines the principles and processes that govern our collective work.

Our Philosophy: Open and Transparent

We are unconditionally committed to the principles of Free and Open Source Software (FOSS).

  • Open Development: All work on the core protocol and reference implementations happens in public repositories.
  • Open Communication: All major technical and strategic discussions take place in public channels.
  • Community Ownership: Our ultimate goal is for Dao OS to be owned and steered by its community of users and developers.

Our Role: From Architect to Gardener

The initial creators and core contributors of Dao OS see their role as an evolving one.

  • In the Early Stages (The Architect): Our primary role is to be the architects—to lay a solid and coherent foundation for the project, define the core protocols, and build the initial tools.
  • In the Long Term (The Gardener): As the ecosystem matures, our role will transition from building everything ourselves to tending the garden. We will focus on providing better tools, maintaining the core infrastructure, and empowering the community to build and innovate.

Ecosystem Strategy: Focus and Ignition

As a project initiated by an individual developer, we recognize that our resources are limited. Attempting to provide equal, first-class support for all possible technology stacks is a path to mediocrity.

Therefore, we adopt a strategy of "Focus on One Point to Ignite the Ecosystem."

Our core team's development efforts will be concentrated on creating one "golden path" that is so efficient and enjoyable that it acts as the primary catalyst to attract the first wave of developers. This chosen path is the Nim Unified Development Kit, which leverages Nim's unique capabilities to build both the WASM backend and Web UI frontend from a single codebase.

This does not exclude other development paths (like Rust + TypeScript or native integrations). They remain fully supported at the protocol level. However, they are considered Community/Advanced Paths, where we rely on the community's strength to build out tooling and best practices.

How to Contribute

Contribution comes in many forms, and all are valued. You can help build Dao OS by:

  • Core Development: Contributing to the Meta Unit library and the core protocols in Rust.
  • Dao Implement Development: Creating new Dao Implements, which can include Facet (UI) components and Core (headless logic) components.
  • Documentation & Translation: Improving these documents, writing tutorials, and translating them into new languages.
  • User Support & Community Management: Helping new users, answering questions, and fostering a welcoming and supportive atmosphere.
  • Design & User Experience: Contributing to the UI/UX design for reference Dao Implements and defining design patterns for the ecosystem.

The Decision-Making Process

Our governance model is designed to evolve alongside the project.

  1. Early Stages (Phase I-II): Decisions will be made by the Core Team after open discussion in our public communication channels.
  2. Growth Stages (Phase III-IV): For significant changes to the core protocol or architecture, we will introduce a formal RFC (Request for Comments) process.
  3. Mature Stage (Future): We are committed to exploring and transitioning to more decentralized governance mechanisms.

Communication Channels

  • GitHub: For all code hosting, issue tracking, and RFC discussions.
  • Discord / Matrix (TBD): For real-time community chat, Q&A, and collaboration.

How to Contribute

We are thrilled that you are interested in contributing to Dao OS! As a community-driven project, we welcome and value contributions of all kinds. This guide outlines the ways you can get involved and the process for submitting your contributions.

Our Pledge and Code of Conduct

To foster an open, welcoming, and inclusive environment, we pledge to adhere to a Code of Conduct. We expect all contributors and community members to do the same.

(Note: We will officially adopt the Contributor Covenant and link to it here.)

Ways to Contribute

You don't have to be a Rust expert to contribute. There are many ways to help:

  • Core Development: Contributing to the Meta Unit library and the core protocols in Rust.
  • Dao Implement Development: Creating new Dao Implements, which can include Facet (UI) components and Core (headless logic) components.
  • Documentation & Translation: Improving these documents, writing tutorials, and translating them into new languages.
  • User Support & Community Management: Helping new users, answering questions, and fostering a welcoming and supportive atmosphere.
  • Design & User Experience: Contributing to the UI/UX design for reference Dao Implements and defining design patterns for the ecosystem.

Your First Pull Request

We use the standard GitHub Fork & Pull Request workflow for all code contributions.

  1. Fork the Repository: Create your own copy of the target repository (e.g., dao-os-docs, meta-unit).
  2. Create a Branch: Create a new branch from main for your changes. Please use a descriptive name (e.g., feat/add-note-encryption).
  3. Make Your Changes: Write your code and accompanying tests.
  4. Run Local Checks: Before submitting, please ensure you run all local tests and linters.
  5. Commit Your Changes: We encourage using Conventional Commits for clear and readable commit messages.
  6. Push to Your Fork: Push your changes to your forked repository.
  7. Open a Pull Request: Submit a Pull Request from your branch to the main branch of the official Dao OS repository.
  8. Describe Your PR: In the Pull Request description, please link to any relevant issues and clearly describe the problem you are solving and your solution.
  9. Wait for Review: A core team member will review your PR, provide feedback, and merge it once it's ready.

Setting Up Your Development Environment

(This section will be filled out in detail for each repository.)

To contribute to the meta-unit, you will generally need:

  • The Rust toolchain (rustup)
  • The WebAssembly build target (wasm32-wasi)
  • The Protocol Buffers compiler (protoc)

Please refer to the README.md in each specific repository for detailed setup instructions.

Any Questions?

If you have any questions, please feel free to ask in our official communication channels. We are here to help you get started!