An open API service indexing awesome lists of open source software.

https://github.com/oaysus/cli

CLI tool for building and deploying custom components to the Oaysus page builder platform
https://github.com/oaysus/cli

Last synced: about 1 month ago
JSON representation

CLI tool for building and deploying custom components to the Oaysus page builder platform

Awesome Lists containing this project

README

          



Oaysus Logo

Oaysus CLI


The visual page builder for developer-built components


Build components in React, Vue, or Svelte. Push with one command.

Let your team create pages visually.


Documentation ·
Watch Demo ·
Website



GitHub stars

  

npm version


License: MIT


If you find Oaysus useful, please consider giving us a ⭐ on GitHub!



Oaysus CLI Demo



From code to published page in seconds

---

## One command. Your component is live.

Watch how fast you can go from code to a published website with Oaysus.

```bash
oaysus theme init # Pick your framework. Name your project.
oaysus theme push # Your component builds and deploys in seconds.
```

No build pipelines. No complex deployments. Your marketing team creates pages visually, and you get back to building features.

## Installation

```bash
npm install -g @oaysus/cli
```

Requires Node.js 20 or higher.

## Quick Start

```bash
# 1. Authenticate with your Oaysus account
oaysus login

# 2. Create a new theme pack project
oaysus theme init my-components

# 3. Navigate to the project
cd my-components

# 4. Push your components to Oaysus
oaysus theme push
```

That's it. Your components are now available in the visual page builder.

```
✓ Validated 1 component
✓ Built and bundled (2.1 KB)
✓ Uploaded to Oaysus
✓ Published!

Install in dashboard: Content → Theme Packs
```

## Framework Support

Build with the tools you already know:

- **React** — JSX/TSX components with full hooks support
- **Vue** — Single File Components (.vue)
- **Svelte** — Native Svelte components (.svelte)

Framework is automatically detected from your `package.json` dependencies.

## How Components Work

Each component has two files: the code and a schema that defines what's editable.

**Component (React example):**
```tsx
export default function Hero({ headline, subtext, ctaLabel }) {
return (

{headline}


{subtext}



{ctaLabel}


);
}
```

**Schema:**
```json
{
"displayName": "Hero Section",
"props": {
"headline": {
"type": "string",
"default": "Build faster, ship sooner"
},
"subtext": {
"type": "string",
"default": "The platform for modern teams"
},
"ctaLabel": {
"type": "string",
"default": "Get Started"
}
}
}
```

Marketing edits these props in the visual editor. You never touch the code again.

## Commands

### Theme Pack Commands

Build and manage reusable component libraries.

| Command | Description |
|---------|-------------|
| `oaysus theme init` | Create a new theme pack project |
| `oaysus theme create` | Add a component to your theme pack |
| `oaysus theme validate` | Validate theme pack structure |
| `oaysus theme push` | Build and upload to Oaysus |
| `oaysus theme delete` | Delete a theme pack from Oaysus |

### Site Commands

Manage website pages and content.

| Command | Description |
|---------|-------------|
| `oaysus site init` | Create a new website project |
| `oaysus site validate` | Validate pages against installed components |
| `oaysus site publish` | Publish pages to your website |
| `oaysus site pull` | Download pages from server to local files |

### Global Commands

Authentication and account management.

| Command | Description |
|---------|-------------|
| `oaysus login` | Authenticate with your Oaysus account |
| `oaysus whoami` | Display current user information |
| `oaysus switch` | Switch between your websites |
| `oaysus logout` | Clear authentication tokens |

### Telemetry Commands

Manage anonymous usage analytics.

| Command | Description |
|---------|-------------|
| `oaysus telemetry status` | Show current telemetry status |
| `oaysus telemetry enable` | Enable anonymous usage tracking |
| `oaysus telemetry disable` | Disable anonymous usage tracking |

Oaysus CLI collects anonymous usage data to help improve the tool. No personal data, file contents, or source code is collected. You can also disable telemetry via the `OAYSUS_TELEMETRY_DISABLED=1` environment variable.

## Project Structure

```
my-components/
├── package.json
└── components/
├── Hero/
│ ├── index.tsx
│ └── schema.json
├── FeatureGrid/
│ ├── index.tsx
│ └── schema.json
└── Testimonials/
├── index.tsx
└── schema.json
```

## Why Oaysus?

| Traditional Approach | With Oaysus |
|---------------------|-------------|
| Marketing files a ticket for every page change | Marketing creates pages themselves |
| Developers build one-off landing pages | Developers build reusable components |
| Every text change requires a deploy | Changes publish instantly to global CDN |
| Locked into proprietary CMS themes | Standard React/Vue/Svelte you own |

## Documentation

- **[Quick Start Guide](https://oaysus.com/docs/quickstart)** — Build your first component in 5 minutes
- **[CLI Reference](https://oaysus.com/docs/cli)** — Complete command documentation
- **[Component Guide](https://oaysus.com/docs/components)** — Props, schemas, and best practices
- **[Theme Packs](https://oaysus.com/docs/theme-packs)** — Organize and distribute component collections

## Get Started

1. **[Create an account](https://oaysus.com/pricing)** — Free tier available
2. **Install the CLI** — `npm install -g @oaysus/cli`
3. **Follow the quick start** — [oaysus.com/docs/quickstart](https://oaysus.com/docs/quickstart)

## Contributing

We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup.

## License

MIT © [Oaysus](https://oaysus.com)