The Agent-Centric Distributed Application Meta-ontology or just: *Agent-Centric DApp Meta-ontology*
- A new meta-ontology for interoperable, decentralized application design
- A spanning-layer to enable seamless integration between Holochain DNAs, blockchains, linked-data structures/ontologies and centralized back-ends
- The basis for turning distinct, monolithic and siloed apps into a global, open and interoperable sense-making network
This is the new mono-repository with all components making up a whole AD4M implementation merged back into what formerly was only the ad4m-executor
.
core
: Former ad4m repository. Holds the core ontology types, theAd4mClient
and the GraphQL schema build automatically from the core types. This package gets published as https://www.npmjs.com/package/@perspect3vism/ad4m and is thus holding most of the app/UI facing coding.executor
: All the code running inside an AD4M instance. UI-less GraphQL server, managing Agent keys, Perspectives and running Languages. TypeScript library without runnable main / executable.host
: Former ad4m-host repository. Imports and wraps executor and uses vercel/pkg to create runnable binary.ui
: Former ad4min repository. Tauri based system-tray icon launcher UI which is the end-user deployment including thehost
executable and providing and AD4M admin (AD4Min) UI interface.
connect
: Former ad4m-connect repository. Convenience library to connect to a (local or via proxy) AD4M-executor, potentially requesting or reusing capability tokens and creating anAd4mClient
ready for the app/UI to use.docs-src
/docs
: Documentation hosted under https://docs.ad4m.dev
cli
: The new Rust basedad4m
command-line based generic UI. See it's readme for more details. Published to Crates.io asad4m
: https://crates.io/crates/ad4mrust-client
: Rust basedAd4mClient
. Wraps GraphQL and provides the same high-level interface to AD4M as the TypeScript based version in core. Published to Crates.io asad4m-client
: https://crates.io/crates/ad4m-client.
The project started in August 2020 in https://github.com/lucksus/perspectivism, then got broken down into the ad4m
(core), ad4m-executor
and perspect3ve repositories for simultaneuous use in Flux and Perspect3ve. Other components got added over the years 2021, 2022.
In October/November 2022, these componentes were collected into a mono-repo again to avoid PR-chains across multiple repositories and to have version numbers be in lock-step.
yarn install
yarn build
yarn install
yarn test
yarn install
yarn run package-linux/macos/windows (choose version for your OS)
yarn install
yarn run build-linux/macos/windows (choose version for your OS)
Before making a PR with a set of changes, run the following command on your branch:
yarn changeset
This command will allow you to create a new set of changes, any associate them to given packages, for which you can decide if a major or minor version increment should be made.
Once your PR is merged into main, the yarn changeset publish script will be ran and your changes uploaded to npm in accordance with the version detailed in the changeset.