Search by

devneet / rune

AnwarAchilles

Rune is a lore-driven, modular concept beneath PHP, designed not to dictate development — but to respond to it.

Package info

github.com/devneet-id/rune

Issues

pkg:composer/devneet/rune

Statistics

Installs: 99

Dependents: 0

Suggesters: 0

Stars: 7

1.21.117 2026-11-15 11:24 UTC

This package is auto-updated.

Last update: 2026-11-15 11:26:05 UTC


README

Total Downloads Latest Stable Version License

Logo

Within Rune's architecture, Ether defines truth, Essence holds flow, and Entity performs behavior - each awakened only when invoked. Every element is crafted to be composable, lazy-loaded, and purpose-driven, making systems naturally scalable and precise.

This makes Rune inherently lightweight and adaptable, aligning perfectly with projects that evolve from concept, not convention. Whether shaping internal tools, backend systems, or modular workflows, Rune empowers developers to sculpt structure from intent, not instruction.

Essentials

Core System
  • Modular Core Structure & Concept (Maintainable)
  • Functional Process-Based
  • Lazy Loading without Bootstrapping
  • Live Documentation replacing Reflection (Phantasm)
  • Automatic Minor & Patch Versioning
  • PSR-4 Composer Autoloading
  • Static Class Service Handler
  • Dynamic Output Structure
Developer Space
  • Stats Information (Main Entrance)
  • Dynamic Command List (Main Entrance)
  • System Inspection & Read (Grimoire)
  • Phased Process Log (Arcane) (Grimoire)
  • Execution Result: Timestamp, Memory & Peak Memory
  • Fancy Command Line Interface (100% CLI support)
  • Save & Load Project as Package (Relic) (Reliquary)
  • Project Item as Package (Shard) (Reliquary)
  • Share & Find Relics Online (Reliquary & Federation)
  • Metadata Storage & Handling .echoes (Keeper)
  • Zero Trust for Breaking Execution
  • Event-Driven & Encapsulation (Chanter)
  • Starter Template or Relic (Awakening)
  • Command Line UI & Interaction (Chanter & Whisper)
  • Text Styling & Reuse (Weaver)
  • File/Item & Directory/Repo Handling (Forger)
  • Fancy Error Handling (Keeper)
  • Process-Focusable (Whisper.drain)
  • Multi-Process & Interaction (Specter)
  • Runes of Your Own (Evolution)
  • Your Own Reliquary (Federation)
  • Bring Your Own PHP Runtime (Liberation)

Awakening

Install Rune using Composer:

composer require devneet/rune

Create main file:

echo "#rune" > cast

First invocation awaken Rune from the void:

<?php
/*
 * Act. 0 - The Awakening of Void
 * THE VOID
 *
 * From the silence of nothingness, echoes rise from the void.
 * A journey begins - with runes at your side.
 * 
 * */
require_once __DIR__ . '/vendor/autoload.php';

Rune\Ethereal::awakening();

Run the app to begin:

php cast

Explore the system’s using the Grimoire:

php cast grimoire

Paradigm

At first, humans did not know anything.
Then how did they start to know things, and learn more about them?

By looking, writing, and growing, we can finally understand.

  1. Core
  • Rune = something we don't know yet
  • Ethereal = a place or thing we don't know
  1. Subject
  • Ether = something that never changes but always has meaning
  • Essence = something that can change as time goes on
  • Entity = something that makes other things change
  • Manifest = a box to connect things so they can work together
  • Phantasm = a picture in our mind to understand
  1. Others
  • Awakening = starting something, from anywhere
  • Evolution = rebuilding something in your own form
  • Federation = many places that trust each other
  • Liberation = being free from what holds you
  • Echoes = sounds from the past
  • Runite = a rune that becomes a thing
  • Shard = a small piece of runite
  • Runite (built-in) = the runites carried by Rune: awakening, rune, grimoire, sentinel, reliquary
  • Grimoire = a book that feels alive
  • Sentinel = someone or something that guards
  • Relic = a runite preserved to travel (.rune)
  • Reliquary = a place where relics are kept
  • Federation = reliquaries joined together

Origin Runes

Ten runes live at the origin. Each holds one purpose, and Aether flows through all of them.

Rune Purpose
Aether The flow beneath everything: paths, stopwatch, memory, arcane, exit and the version footer
Chanter The CLI gate: casts (commands), spells (--options), echoes (notes) and zero trust
Whisper The voice to the user: styled echo, call (input), clear, drain and flash
Weaver Text and templates: bind {{var}}, bond, wrap and minify
Forger Files and folders: trace, scan, fix, move, clone, clean and observe
Cipher Secrets: unique id, hash, base64 and the runic cipher
Keeper Memory in .echoes/: items, shards, arcane and glitch
Crafter The builder: item → seed → shard → spark into one distributable file
Specter Beyond the main process: cast in another window, soul, seer, observer and devserver
Minister Speaks with a familiar (AI spirit) — still in development

Read any rune from the Grimoire:

php cast grimoire --runic=Keeper
php cast grimoire --runic-list

Laws of the Rune

  • One rune, one purpose. A rune is never stretched to do another rune's work.
  • Entity holds the logic. Entities may call the entities of other runes; this is how runes work together.
  • Manifest is for engraving. It only forwards to entities, so your runite (cast) speaks through Rune\X\Manifest.
  • Phantasm is the contract. It replaces Reflection: version, user, note, mark, link and node are read by the Grimoire.
  • Aether flows everywhere. Runes are not standalone packages; they awaken together inside one flow.
  • Every change raises the Phantasm version of the rune that changed.
  • An evolution rune never replaces an origin rune. Need another version? Create a new rune with its own name (e.g. MYWeaver).

The Journey

  1. Awakening — Rune\Ethereal::awakening() turns an empty cast into a runite, from a blank start or a relic of devneet-id/reliquary.
  2. Engraving — write casts in the runite: Chanter::cast('wind --art', fn() => ..., 'note').
  3. Echoes & Arcane — Keeper remembers in .echoes/; Aether records every step as arcane, revealed by grimoire --arcane.
  4. Relic — php cast reliquary --runite-relic seals the runite, its echoes and shards into a .rune file to share.
  5. Return — php cast reliquary --relic-runite brings a relic back to life in another place (=<vendor>/<repo> takes one from the reliquary).

Sentinel guards the runite: php cast sentinel --runite-insert=Keeper engraves a rune into it, --runite-remove takes it out, --gitignore keeps vendor/ and .echoes/ out of git.

Modes

A runite can unlock three modes. Sentinel writes one line under the require line and opens a folder next to the runite. The caption of the highest one wins: The Liberation of Forte > The Federation of Fides > The Evolution of Eidos > The Awakening of Void.

Evolution

Evolution opens the gate to create your own runes beside the origin runes.

php cast sentinel --evolution

Sentinel writes Rune\Ethereal::evolution();. Your runes live in @evolution/ next to the runite, and Sentinel helps to shape them:

php cast sentinel --runic-create=Ledger
php cast sentinel --phantasm-repair=Ledger
php cast sentinel --runite-insert=Ledger

Federation

Federation lets you keep your own reliquary (a fork of devneet-id/reliquary) and the relics you take from it.

php cast sentinel --federation
php cast reliquary --initiate --repo=<user>/reliquary
php cast reliquary --discover
php cast reliquary --retrieve=<vendor>/<repo>

Relics are kept in @federation/ next to the runite, and @federation/federation.json records what was found. Without federation every relic comes from devneet-id/reliquary.

Liberation

Liberation frees your app from the PHP of the machine it lands on: it keeps a PHP runtime in @liberation/.

php cast sentinel --liberation
php cast sentinel --runtime-install                 # the PHP you are running now
php cast sentinel --runtime-install=php@8.3 --os=windows
php cast sentinel --runtime-list
php cast sentinel --runtime-remove=php@8.3.36

Runtimes land in @liberation/php@<version>/ and @liberation/liberation.json records the one in use. Windows builds come from windows.php.net (checked by sha256), Linux and macOS builds from static-php (dl.static-php.dev, give the full version, e.g. php@8.3.14).

Versioning

The footer of every cast shows the version of your rune world:

Version=1.21.117

It is the major version of the core followed by the sum of every Phantasm version (origin runes, plus evolution runes in evolution mode) — so the number grows as the runes grow.

Contributing

Thank you for considering contributing to the Rune! The contribution guide can be found in the Rune Contribution.

Code of Conduct

In order to ensure that the DEVNEET community is welcoming to all, please review and abide by the Code of Conduct.

License

The Rune is open-sourced software licensed under the MIT license.