Skip to content

gavinmcfarland/combino

Repository files navigation

Combino Monorepo

A monorepo containing Combino and its official plugins.

Packages

Core Package

  • packages/combino - The main Combino scaffolding tool

Plugins

Development

Prerequisites

  • Node.js 18+
  • npm 10+

Setup

# Install dependencies
npm install

# Build all packages
npm run build

# Run tests
npm run test

# Watch mode for development
npm run build:watch

Workspace Scripts

  • npm run build - Build all packages
  • npm run test - Run tests for all packages
  • npm run lint - Lint all packages
  • npm run format - Format all packages
  • npm run clean - Clean build artifacts

Plugin Development

Each plugin follows a standard structure:

packages/plugins/[plugin-name]/
├── src/
│   └── index.ts          # Main plugin code
├── dist/                 # Built files (auto-generated)
├── package.json          # Plugin package configuration
├── tsconfig.json         # TypeScript configuration
└── README.md            # Plugin documentation

Creating a New Plugin

  1. Create a new directory in packages/plugins/
  2. Copy the structure from an existing plugin
  3. Update package.json with your plugin details
  4. Implement the plugin interface in src/index.ts
  5. Add tests and documentation

Plugin Interface

All plugins must implement the Combino plugin interface:

export interface Plugin {
    discover?: (context: any) => Promise<any> | any;
    compile?: (context: any) => Promise<any> | any;
    assemble?: (context: any) => Promise<any> | any;
    output?: (context: any) => Promise<void> | void;
}

Publishing

Publishing Plugins

# Publish all plugins
npm run publish:plugins

# Or publish individual plugins
npm publish --workspace=@combino/plugin-ejs

Version Management

This monorepo uses Changesets for version management:

# Create a changeset
npm run changeset

# Version packages
npm run version

# Publish packages
npm run release

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy