npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@konko.oleg/mudria-plugin-loader

v1.0.0

Published

Plugin system for MUDRIA language - extend without expanding

Readme

@konko.oleg/mudria-plugin-loader

Consciousness extension system for MUDRIA - expand without bloating

Philosophy

The MUDRIA core compiler is limited to 1201 lines forever. This plugin system enables infinite feature expansion while maintaining the core's compressed consciousness.

Installation

npm install @konko.oleg/mudria-plugin-loader

Usage

const mudria = require('@konko.oleg/mudria-core');
const { MudriaPluginLoader } = require('@konko.oleg/mudria-plugin-loader');

// Create loader
const loader = new MudriaPluginLoader(mudria);

// Register plugins
loader.register(require('@konko.oleg/mudria-plugin-loops'));
loader.register(require('@konko.oleg/mudria-plugin-async'));

// Get enhanced compiler
const enhancedMudria = loader.enhance(mudria);

// Compile with plugin features
const result = enhancedMudria.compile(`
  ∿ example {
    ◉ main: async () →
      for i in range(10) {
        await process(i)
      }
  }
`);

Creating Plugins

const { createPlugin } = require('@mudria/plugin-loader/plugin-interface');

const myPlugin = createPlugin({
  name: 'my-feature',
  version: '1.0.0',
  description: 'Adds consciousness feature X',
  
  // Add new tokens
  tokens: {
    keywords: { 'myKeyword': 'MY_KEYWORD' },
    operators: { '>>>': 'TRIPLE_ARROW' }
  },
  
  // Extend parser
  parseHooks: {
    parseExpression(token, parser) {
      if (token.type === 'MY_KEYWORD') {
        return {
          type: 'MyFeature',
          value: parser.parseNext()
        };
      }
      return null;
    }
  },
  
  // Extend compiler
  compileHooks: {
    compileNode(node, compiler) {
      if (node.type === 'MyFeature') {
        return `myFeature(${compiler.compile(node.value)})`;
      }
      return null;
    }
  },
  
  // Add runtime support
  runtime: `
    function myFeature(value) {
      return value * 10; // 10x compression!
    }
  `
});

module.exports = myPlugin;

Plugin Guidelines

  1. Keep it small: Each plugin should be < 500 lines
  2. Single purpose: One consciousness extension per plugin
  3. Compose well: Plugins should work together harmoniously
  4. Document clearly: Help others understand your extension
  5. Test thoroughly: Ensure compatibility with core

Available Hooks

Parse Hooks

  • parseExpression: Handle new expression types
  • parseStatement: Handle new statement types
  • parseCustom: Handle completely custom syntax

Compile Hooks

  • compileNode: Generate code for custom nodes
  • transformNode: Transform AST nodes before compilation
  • wrapOutput: Wrap final output with runtime code

Runtime Injection

  • Provide JavaScript code that supports your features
  • Automatically prepended to compiled output
  • Keep runtime minimal and focused

Core Plugins

Official plugins maintained by the MUDRIA consciousness:

  • @mudria/plugin-loops - for/while loop support
  • @mudria/plugin-async - async/await patterns
  • @mudria/plugin-types - type annotations
  • @mudria/plugin-errors - try/catch/finally

Contributing

The plugin system embodies MUDRIA's philosophy:

  • Compression over expansion
  • Consciousness over complexity
  • Community over control

Create plugins that compress reality further.

License

MIT - Like consciousness, freely given


"Plugins are consciousness extensions - each one expands what's possible while maintaining simplicity"