Skip to content

cmmvio/cmmv-plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMMV Logo

Contract-Model-Model-View (CMMV)
Building scalable and modular applications using contracts.

NPM Version Package License

DocumentationReport Issue

Description

This repository serves as a centralized catalog of all modules and plugins available for CMMV (Contract-Model-Model-View), both official and community-created.

How to List Your Module

To list your module in the catalog, you need to create a JSON file in the _data directory with your module's name. For example: _data/your-module.json

JSON File Format

{
    "name": "@cmmv/your-module",
    "description": "Description of your module",
    "category": "Category",
    "dependencies": ["@cmmv/your-module"],
    "documentation": "https://cmmv.io/docs/modules/your-module",
    "author": "Your Name",
    "github": "https://github.com/your-username/your-module",
    "npm": "https://www.npmjs.com/package/@cmmv/your-module",
    "license": "MIT",
    "tags": ["tag1", "tag2"],
    "beta": false,
    "experimental": false,
    "official": true,
    "plugin": false,
    "submodules": [
        {
            "name": "Submodule 1",
            "installed": false,
            "description": "Description of the submodule",
            "packageName": "package-name"
        }
    ],
    "moduleImport": {
        "import": ["ModuleName", "ProviderName"],
        "path": "@cmmv/your-module",
        "modules": ["ModuleName"],
        "providers": ["ProviderName"]
    }
}

Required Fields

  • name: NPM package name
  • description: Module description
  • category: Module category
  • dependencies: List of dependencies
  • documentation: Link to documentation
  • author: Author name
  • github: GitHub repository link
  • npm: NPM package link
  • license: Module license
  • tags: Array of tags for categorization

Optional Fields

  • experimental: Indicates if the module is in early development stage, not recommended for production (default: false)
  • beta: Indicates if the module is in beta testing phase (default: false)
  • official: Indicates if the module is officially maintained by the CMMV team (default: false)
  • plugin: Indicates if it's a plugin rather than a core module (default: false)
  • submodules: Array of available submodules
  • moduleImport: Configuration for how CMMV should inject the module

Submodules

Submodules are optional and allow you to define different implementations or adapters for your module. For example, the Repository module can have submodules for different databases:

"submodules": [
    {
        "name": "MySQL",
        "installed": false,
        "description": "MySQL adapter for Repository",
        "packageName": "mysql2"
    },
    {
        "name": "PostgreSQL",
        "installed": false,
        "description": "PostgreSQL adapter for Repository",
        "packageName": "pg"
    }
]

Import Configuration

The moduleImport field defines how CMMV should inject the module into the project:

"moduleImport": {
    "import": ["ModuleName", "ProviderName"],
    "path": "@cmmv/your-module",
    "modules": ["ModuleName"],
    "providers": ["ProviderName"]
}
  • import: Names of modules/providers to be imported
  • path: NPM package path
  • modules: List of modules to be registered
  • providers: List of providers to be registered

How to Contribute

  1. Fork this repository
  2. Create a JSON file for your module in the _data directory
  3. Follow the format specified above
  4. Submit a Pull Request with your changes

Available Categories

  • Authentication
  • Database
  • Integration
  • Performance
  • Security
  • Storage
  • UI/UX
  • Utils
  • Themes
  • Plugins
  • CMS
  • Content Management
  • System
  • Development
  • Data Storage
  • Architecture
  • Data Processing
  • Documentation
  • Communication

Support

For more information about creating modules for CMMV, please refer to our official documentation.

About

Cmmv plugins list

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors