Skip to content

anikitenko/fdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FDO (FlexDevOps)

FDO (Flex DevOps) is a modular, plugin-driven DevOps platform built with ElectronJS and React. It empowers developers and SREs to extend core functionality using secure, versioned plugins, offering tools for automation, deployment, monitoring, and workflow customization — all from a unified desktop environment.

Features

  • Plugin System: Modular architecture with secure, versioned plugins
  • Code Editor: Built-in Monaco-based editor for plugin development
  • AI Coding Agent: Intelligent coding assistant integrated into the editor (NEW!)
  • Live UI: Real-time plugin UI preview
  • Certificate Management: Built-in PKI for plugin signing and trust
  • SDK: Comprehensive SDK for building plugins with rich UI capabilities

AI Coding Agent

The AI Coding Agent provides intelligent coding assistance directly in the FDO editor:

  • Generate Code: Create new code from natural language descriptions
  • Edit Code: Modify selected code with AI-powered suggestions
  • Explain Code: Get detailed explanations of code functionality
  • Fix Code: Debug and repair code with AI assistance

The AI agent is FDO SDK-aware and understands plugin architecture, helping you build better plugins faster.

Learn more about the AI Coding Agent

Quick Start

# Install dependencies
npm install

# Development mode
npm run dev

# Build for production
npm run build

# Package application
npm run package

Plugin Development

FDO uses the @anikitenko/fdo-sdk for plugin development.

Example plugin:

import { FDO_SDK, FDOInterface, PluginMetadata } from "@anikitenko/fdo-sdk";

export default class MyPlugin extends FDO_SDK implements FDOInterface {
    private readonly _metadata: PluginMetadata = {
        name: "My Plugin",
        version: "1.0.0",
        author: "Your Name",
        description: "Plugin description",
        icon: "COG"
    };

    get metadata(): PluginMetadata {
        return this._metadata;
    }

    init(): void {
        this.log("Plugin initialized!");
    }

    render(): string {
        return "<div>Hello World</div>";
    }
}

Use the AI Coding Agent in the editor to generate plugins automatically!

Testing

# Run unit tests
npm run test:unit

# Run e2e tests
npm run test:e2e

# Run all tests
npm test

Documentation

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •