Project Overview GitHub issue

Introduction GitHub issue

vibecode
{"vibecode": {
    "section": "what_is_this",
    "role": "introduces the Puck ecoverse organized around its three core packages",
    "key_concepts": ["Puck_ecoverse", "Puck_protocol", "Caspian", "Mikobase"]
}}

This project is the Puck ecoverse — a suite of interconnected software for storing, querying, and programming with objects across different languages and systems. The ecoverse is organized around three core packages:

Each package has its own features and its own canonical specs. The sections below cover the design principles that span all three packages, walk through each package and its core features, and report implementation status.


Design principles GitHub issue

vibecode
{"vibecode": {
    "section": "design_principles",
    "role": "the design principles that span all three packages",
    "key_concepts": ["no_nanny_code", "safe_defaults_with_explicit_overrides",
        "security_guarantees_not_nanny"]
}}

No nanny code GitHub issue

Puck provides safe defaults but there are ways to override those defaults if you choose:

The first is what we avoid. The second and third stay. When in doubt: if a developer wants to do something legitimate that the API blocks without giving them a way through, that's nanny code.


Puck GitHub issue

vibecode
{"vibecode": {
    "section": "puck_package",
    "role": "describes the Puck protocol and its features: UNS, %puck lookup and call, version window, library resolution, blockchain",
    "key_concepts": ["object_protocol", "UNS", "puck_lookup", "remote_method_invocation",
        "version_window", "library_resolution_through_puck", "blockchain_identity"]
}}

Puck is a protocol for working with objects across languages and systems. It gives every object in the ecoverse a global address (a UNS) and a uniform way to retrieve, query, and invoke methods on objects regardless of where they physically live.

See puck.md for the full protocol spec.

Features GitHub issue


Caspian GitHub issue

vibecode
{"vibecode": {
    "section": "caspian_package",
    "role": "describes the Caspian language and its features: canonical runtime format, classes, functions, single-threaded with opt-in forking, role-based security, multi-syntax architecture preserved",
    "key_concepts": ["lightweight_embeddable_language", "CaspianJ_runtime_format",
        "classes_with_inheritance", "functions_closures",
        "single_threaded_by_default_forking_opt_in", "role_based_security",
        "exception_handling", "multi_syntax_architecture_preserved"]
}}

Caspian is a lightweight, embeddable programming language. It is designed from the ground up to support running untrusted code. Designed to run inside a Mikobase engine, a browser, a CLI, or anywhere else without external runtime dependencies beyond the engine itself.

See caspian.md for the language reference.

Features GitHub issue


Mikobase GitHub issue

vibecode
{"vibecode": {
    "section": "mikobase_package",
    "role": "describes the Mikobase object store and its features: Q0 query language, class-based NoSQL, three v1 engines, worldlets as export format, live process model; temporal history is an opt-in mode",
    "key_concepts": ["live_object_store", "Q0_JSON_query_language", "class_based_NoSQL",
        "three_v1_engines", "worldlets_as_export_format",
        "live_process_not_passive_file", "temporal_history_opt_in"]
}}

Mikobase is a live object store — in memory, file-backed, or served over a network. It supports class definitions, transactions, locking, and a JSON query language. Both database-shaped use (long-lived service backing store) and worldlet-shaped use (packaged, portable snapshots) are first-class.

See mikobase.md for the full spec.

Features GitHub issue


Implementation status GitHub issue

vibecode
{"vibecode": {
    "section": "implementation_status",
    "role": "tracks the development status of each Puck ecoverse component",
    "key_concepts": ["active_development", "design_phase", "lua_reference_engine", "Q0",
        "Caspian", "v01_hello_world_shipped"]
}}
Component Status
Caspian Lua reference engine V0.01 hello-world ships; 213 tests passing. V0.02 (Caspian source via transpiler) and V0.03–V0.05 plans drafted.
Caspian language V0.01 surface shipped; broader language spec in active design.
CaspianJ Canonical runtime format; V0.01 fixture-and-engine path is fully wired.
Mikobase engine Design only. V1 plan ships three engines (SQLite file, SQLite :memory:, worldlet-direct); none yet implemented.
Q0 query language Designed; will be implemented as SQL passthrough on the SQLite engines and against the JSON structure on the worldlet engine.
Worldlet (packaged mikobase) Format spec exists; import/export to be implemented alongside the Mikobase engines.
Forking (opt-in Caspian feature) Early design; not in active development.
Puck protocol Early design.

© 2026 Puck.uno