Skip to content

azrtydxb/kryton-plugins

Repository files navigation

Mnemo Plugins

Plugin CI

Official plugin registry for Mnemo, a self-hosted knowledge base.

Available Plugins

Plugin Description
vim-mode Adds Vim keybindings to the editor with toggle, mode indicator, and command bar
sample-wordcount Displays word count statistics for notes via a custom API endpoint

Installing Plugins

Plugins are installed through the Mnemo Admin Dashboard:

  1. Go to Admin > Plugins > Browse Registry
  2. Search for a plugin
  3. Click Install

How the Registry Works

  • registry.json is auto-generated by CI from plugin manifests — never edit it manually
  • It is gitignored and cannot be modified via PRs
  • When a PR merges to main, CI validates all plugins, then regenerates registry.json
  • The Mnemo server fetches registry.json from this repo via the GitHub API

Adding a Plugin

  1. Fork this repo and create a branch
  2. Copy templates/plugin-template/ to plugins/your-plugin-name/
  3. Edit manifest.json with your plugin's metadata
  4. Implement your plugin in server/index.js and/or client/index.js
  5. Test locally: npm run validate && npm run test && npm run lint
  6. Open a PR — CI will validate your plugin automatically
  7. Once CI passes and the PR is approved, merge to main
  8. CI auto-generates registry.json — your plugin appears in the Mnemo registry

See docs/CONTRIBUTING.md for detailed guidelines.

Development

# Install dev dependencies
npm install

# Lint plugin code
npm run lint

# Validate all plugin manifests
npm run validate

# Test plugin syntax and exports
npm run test

# Generate registry.json locally (for testing)
npm run generate

Plugin Structure

plugins/your-plugin/
  manifest.json       # Plugin metadata (source of truth for registry)
  server/
    index.js          # Backend entry point (optional)
  client/
    index.js          # Frontend entry point (optional)

Documentation

Branch Protection

  • No direct pushes to main — PRs only
  • CI must pass before merge (lint, validate, test)
  • registry.json is auto-generated by CI after merge

License

Licensed under the Apache License, Version 2.0.

Trademark

"Kryton" and the Kryton logo are trademarks of Pascal Watteel. The Apache 2.0 license grants rights to use the software, but it does not grant permission to use these trademarks. Forks distributed publicly must be renamed.

Contributing

Contributions are welcome. Before your first pull request, please read and sign the Contributor License Agreement. The CLA Assistant bot will prompt you on your first PR — sign by commenting:

I have read the CLA Document and I hereby sign the CLA

About

Plugin registry for Mnemo

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors