Convert Figma logo to code with AI

cyclops-ui logocyclops

Developer Friendly Kubernetes 👁️

3,066
776
3,066
61

Top Related Projects

19,094

Fluent UI web represents a collection of utilities, React components, and web components for building web applications.

An enterprise-class UI design language and React UI library

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

39,302

Chakra UI is a component system for building SaaS products with speed ⚡️

A utility-first CSS framework for rapid UI development.

86,480

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

Quick Overview

Cyclops is a React-based UI component library designed for building modern web applications. It offers a collection of reusable, customizable components that adhere to best practices in design and accessibility, aiming to streamline the development process for React developers.

Pros

  • Comprehensive set of pre-built, customizable components
  • Strong focus on accessibility and responsive design
  • Well-documented with interactive examples
  • Regular updates and active community support

Cons

  • Learning curve for developers new to React or component libraries
  • Some advanced customizations may require deeper understanding of the library
  • Limited theming options compared to some other UI libraries
  • Potential performance overhead for smaller projects

Code Examples

  1. Using a Button component:
import { Button } from 'cyclops-ui';

function MyComponent() {
  return (
    <Button variant="primary" onClick={() => console.log('Clicked!')}>
      Click me
    </Button>
  );
}
  1. Creating a responsive layout with Grid:
import { Grid, GridItem } from 'cyclops-ui';

function ResponsiveLayout() {
  return (
    <Grid columns={12} gap={2}>
      <GridItem colSpan={[12, 6, 4]}>
        <div>Content for column 1</div>
      </GridItem>
      <GridItem colSpan={[12, 6, 4]}>
        <div>Content for column 2</div>
      </GridItem>
      <GridItem colSpan={[12, 12, 4]}>
        <div>Content for column 3</div>
      </GridItem>
    </Grid>
  );
}
  1. Implementing a form with validation:
import { Form, Input, Select, Button } from 'cyclops-ui';

function ContactForm() {
  const handleSubmit = (values) => {
    console.log('Form submitted:', values);
  };

  return (
    <Form onSubmit={handleSubmit}>
      <Input name="name" label="Name" required />
      <Input name="email" label="Email" type="email" required />
      <Select name="subject" label="Subject">
        <option value="general">General Inquiry</option>
        <option value="support">Support</option>
      </Select>
      <Button type="submit">Send</Button>
    </Form>
  );
}

Getting Started

To start using Cyclops in your React project:

  1. Install the package:

    npm install cyclops-ui
    
  2. Import and use components in your React application:

    import React from 'react';
    import { Button, Card } from 'cyclops-ui';
    
    function App() {
      return (
        <Card>
          <h1>Welcome to My App</h1>
          <Button variant="primary">Get Started</Button>
        </Card>
      );
    }
    
    export default App;
    
  3. (Optional) Import the default theme CSS or create your own:

    import 'cyclops-ui/dist/styles.css';
    

For more detailed documentation and examples, visit the official Cyclops documentation website.

Competitor Comparisons

19,094

Fluent UI web represents a collection of utilities, React components, and web components for building web applications.

Pros of Fluent UI

  • Extensive component library with a wide range of UI elements
  • Strong backing from Microsoft, ensuring regular updates and support
  • Comprehensive documentation and design guidelines

Cons of Fluent UI

  • Larger bundle size due to its extensive feature set
  • Steeper learning curve for developers new to the framework
  • Less flexibility for customization compared to smaller libraries

Code Comparison

Cyclops button component:

<Button variant="primary" size="medium">
  Click me
</Button>

Fluent UI button component:

<PrimaryButton text="Click me" />

Both libraries offer similar component APIs, but Fluent UI tends to have more specific component types (e.g., PrimaryButton) while Cyclops uses props for variations.

Cyclops focuses on simplicity and ease of use, making it suitable for smaller projects or teams that prefer a lightweight solution. Fluent UI, on the other hand, provides a more comprehensive set of components and follows Microsoft's design language, making it ideal for larger applications or those aiming for a consistent look with Microsoft products.

Ultimately, the choice between Cyclops and Fluent UI depends on project requirements, team expertise, and desired design aesthetics.

An enterprise-class UI design language and React UI library

Pros of Ant Design

  • Extensive component library with a wide range of UI elements
  • Strong community support and regular updates
  • Comprehensive documentation and examples

Cons of Ant Design

  • Larger bundle size due to its extensive feature set
  • Steeper learning curve for beginners
  • Less flexibility in customization compared to more lightweight alternatives

Code Comparison

Ant Design (Button component):

import { Button } from 'antd';

const MyComponent = () => (
  <Button type="primary">Click me</Button>
);

Cyclops (Button component):

import { Button } from '@cyclops-ui/core';

const MyComponent = () => (
  <Button variant="primary">Click me</Button>
);

Summary

Ant Design is a comprehensive UI library with a vast array of components and strong community support. It offers extensive documentation and examples, making it suitable for large-scale projects. However, its large bundle size and steeper learning curve may be drawbacks for smaller projects or beginners.

Cyclops, on the other hand, appears to be a more lightweight alternative with a focus on simplicity and ease of use. While it may not offer as many components as Ant Design, it could be more suitable for projects that require a smaller footprint and faster integration.

The code comparison shows that both libraries have similar syntax for basic components like buttons, with minor differences in prop naming conventions.

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Pros of Material-UI

  • Extensive component library with a wide range of pre-built UI elements
  • Large and active community, providing extensive documentation and support
  • Highly customizable with theming capabilities and style overrides

Cons of Material-UI

  • Larger bundle size due to comprehensive feature set
  • Steeper learning curve for beginners due to complex API and extensive options
  • Opinionated design system may require more effort to deviate from Material Design

Code Comparison

Material-UI:

import { Button, TextField } from '@mui/material';

<Button variant="contained" color="primary">
  Click me
</Button>
<TextField label="Enter text" variant="outlined" />

Cyclops:

import { Button, Input } from '@cyclops-ui/core';

<Button variant="primary">Click me</Button>
<Input placeholder="Enter text" />

Summary

Material-UI offers a comprehensive UI library with extensive customization options and community support, but comes with a larger bundle size and steeper learning curve. Cyclops provides a more lightweight alternative with a simpler API, potentially sacrificing some advanced features and customization options. The choice between the two depends on project requirements, team expertise, and desired level of customization.

39,302

Chakra UI is a component system for building SaaS products with speed ⚡️

Pros of Chakra UI

  • Larger community and ecosystem, with more contributors and third-party extensions
  • More comprehensive documentation and examples
  • Wider range of pre-built components and utilities

Cons of Chakra UI

  • Steeper learning curve due to more complex API and features
  • Larger bundle size, which may impact performance for smaller projects
  • Less opinionated design system, requiring more customization for consistent styling

Code Comparison

Chakra UI button component:

import { Button } from "@chakra-ui/react"

function MyComponent() {
  return <Button colorScheme="blue">Click me</Button>
}

Cyclops button component:

import { Button } from "@cyclops-ui/core"

function MyComponent() {
  return <Button variant="primary">Click me</Button>
}

Both libraries offer similar component-based approaches, but Chakra UI provides more customization options out of the box. Cyclops aims for simplicity and a more opinionated design system, which can lead to faster development for projects that align with its design principles.

Chakra UI is better suited for larger projects requiring extensive customization, while Cyclops may be more appropriate for smaller projects or teams looking for a simpler, more opinionated UI library.

A utility-first CSS framework for rapid UI development.

Pros of Tailwind CSS

  • Larger community and ecosystem, with more resources and third-party tools
  • More comprehensive utility-first approach, offering a wider range of pre-built classes
  • Better documentation and learning resources for developers

Cons of Tailwind CSS

  • Steeper learning curve due to the extensive class naming system
  • Potentially larger CSS file size if not properly optimized
  • Less focus on accessibility features compared to Cyclops

Code Comparison

Tailwind CSS:

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
  Button
</button>

Cyclops:

<button class="c-button c-button--primary">
  Button
</button>

Tailwind CSS uses more specific utility classes, while Cyclops employs a more traditional component-based approach with fewer, more semantic classes.

86,480

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

Pros of Storybook

  • Extensive ecosystem with a wide range of addons and integrations
  • Supports multiple frontend frameworks (React, Vue, Angular, etc.)
  • Large and active community, providing robust documentation and support

Cons of Storybook

  • Steeper learning curve, especially for complex configurations
  • Can be resource-intensive for large projects with many components
  • Setup process may be more time-consuming compared to simpler alternatives

Code Comparison

Cyclops component example:

import { Button } from '@cyclops-ui/core';

const MyButton = () => (
  <Button variant="primary">Click me</Button>
);

Storybook component example:

import { Button } from './Button';

export default {
  title: 'Example/Button',
  component: Button,
};

export const Primary = () => <Button primary>Button</Button>;

While both libraries aim to improve component development and documentation, Storybook offers a more comprehensive solution with broader framework support and a rich ecosystem. However, this comes at the cost of increased complexity and potential performance overhead. Cyclops, being more focused, may provide a simpler and lighter alternative for specific use cases, particularly within its supported ecosystem.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

CNCF Badge Docker Pulls Go Report Card GitHub Actions CI GitHub Actions web GitHub License Discord

Developer Friendly Kubernetes

Webpage - Discord - X - LinkedIn

🟠 What is Cyclops?

Cyclops is an open-source dev tool that simplifies Kubernetes with an easy-to-use UI, making it less intimidating. Instead of creating and configuring your Kubernetes manifests with YAML, use Cyclops to painlessly configure and deploy your applications - validations included!

Thanks to the templates system, Cyclops's UI is highly customizable when defining configurations. Our templates turn hours and days of configuring applications into a few clicks.

💡 How it works?

Cyclops is a platform that allows DevOps teams to quickly and without coding create custom UIs for developers, QA teams, product managers, and other team members who do not necessarily have experience working with Kubernetes.

But don’t worry! If you do not have a DevOps team with you, Cyclops comes with a bunch of predefined templates to get you started!

Under the hood, Cyclops uses Helm charts to create your desired UIs. This means you can try Cyclops with any of your existing Helm charts or any public Helm charts you can find!

Read more about it here

⚙️ Install

⚠️ Before installing Cyclops, make sure you have all the prerequisites ⚠️

Cyclops can either be installed manually by applying the latest manifest, by using cyctl, or with the Glasskube Kubernetes Package Manager.

To install Cyclops using kubectl into your cluster, run the commands below:

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.18.0/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.18.0/install/demo-templates.yaml

It will create a new namespace called cyclops and deploy everything you need for your Cyclops instance to run.

Now, all that is left is to expose the Cyclops server outside the cluster:

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops

You can now access Cyclops in your browser on http://localhost:3000.

💾 Templates

Every Cyclops instance comes with a couple of predefined templates. Feel free to use and abuse them!

Helm charts used for these templates can be found here. You can use this repo as a guide to create your own templates. More information on making your own can be found on our web.

🚧 cyctl

The Cyclops command line interface! You can install it with Homebrew:

brew install cyctl

What are you able to do with cyctl?

Besides the basic commands like getting all modules or templates, you can integrate it with GitHub actions to automate some of the Cyclops processes.

For example, once you create a template and publish it on GitHub, GitHub actions could automatically connect the template to your Cyclops instance using our CLI. This would allow your developers instant access to each new template or any update the template receives.

💪 Contributing

Cyclops is open-source and open to external contributors. There are plenty of ways you can contribute to the Cyclops project - with code, feedback, content and GitHub stars⭐

Start your contributing journey at our CONTRIBUTING.md and join our wall of fame 👐

🧭 Roadmap

⚠️ This is not set in stone and may change in the future ⚠️

  • Support for private GitHub repos -> access templates saved on your private repositories ✅
  • Authentification -> secure login
  • Role-based access control -> limit the resources your devs have access to
  • GitOps -> integrate with GitOps tools
  • Support for Kustomize -> currently, only Helm is supported for creating templates
  • cyctl for Windows -> Chocolatey
  • Customizable Module details page -> create custom views of resources that your module uses
  • Customizable Resource actions -> support customization of status updates using CEL

👁️ Share your feedback

Are you using Cyclops at your company? We'd love to hear directly from you about how you're using (or planning to use) Cyclops! Chat with us for 30 minutes about your use case and we'll send you some Cyclops swag as a thank-you for your time. Please fill in this form, and we will get in touch with you!

Your input will directly influence the direction of Cyclops, and we appreciate every bit of feedback. Thank you for helping us build something great! 🧡