Top Related Projects
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.
Chakra UI is a component system for building SaaS products with speed ⚡️
A utility-first CSS framework for rapid UI development.
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
- Using a Button component:
import { Button } from 'cyclops-ui';
function MyComponent() {
return (
<Button variant="primary" onClick={() => console.log('Clicked!')}>
Click me
</Button>
);
}
- 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>
);
}
- 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:
-
Install the package:
npm install cyclops-ui
-
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;
-
(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
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.
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.
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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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! ð§¡
Top Related Projects
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.
Chakra UI is a component system for building SaaS products with speed ⚡️
A utility-first CSS framework for rapid UI development.
Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot