Skip to content
@fernkit

fernkit

a minimalist, handcrafted software ecosystem. building low-level tools with raw control, inspired by nature, growth, and imperfection.

FernKit Logo

FernKit

A Minimalist, Handcrafted Software Ecosystem
FernKit is a collection of low-level, system-oriented developer tools built around a consistent and poetic metaphor: nature, growth, imperfection, and emergence. Where most frameworks strive for abstraction and polish, FernKit leans into raw control and transparent design.


The FernKit Philosophy

Our ecosystem is guided by a few core principles that define our approach to building software.

Built to Teach

In a world of deep abstractions, we believe there is immense value in understanding the fundamentals. FernKit is designed to be a transparent learning tool. We deliberately avoid black boxes to expose the inner workings of UI rendering, networking, command-line parsing, and more. Using FernKit is not just about building an application; it's an educational experience in how software interacts with the system at a foundational level.

Imperfect and Evolving

FernKit is not a finished product; it is a living system. We embrace an open-ended process of growth, releasing tools early and allowing them to evolve publicly. Flaws and glitches are not seen as failures but as authentic signs of a system that is learning and developing. This philosophy invites users and contributors to be part of the journey, witnessing and shaping the organic growth of the ecosystem rather than consuming a static, polished tool.

Thematically Cohesive

The metaphor of nature is the soil from which our ecosystem grows. This is not just branding, but a core architectural guide. Each tool's name and function reflects its place in a natural lifecycle. Terra is the soil, the command-line foundation. Fern is the plant that sprouts from it, rendering visuals. Conduit is the underground root system for data flow, and Grub is the larva, imperfectly but persistently consuming and processing text. This thematic depth makes the ecosystem intuitive and deeply interconnected.

Minimal and Composable

We prioritize simplicity, control, and portability. By writing tools in C, C++, and Python with as few external dependencies as possible, we keep the codebase lean and understandable. This minimalism gives you, the developer, complete control and responsibility. Each component, from the networking layer to the UI kit, is self-contained and can be used independently. You can adopt the entire ecosystem or choose just one tool that solves a specific problem, without inheriting unnecessary bloat.

Core Repositories

FernKit is composed of several handcrafted tools that bring the ecosystem to life.

Repository Description Key Language(s)
grub A low-level, imperfect text rasterizer for Fern apps. C++
gleeb A language server providing code intelligence for the Fern UI toolkit. TypeScript
flare A repository of starter templates for bootstrapping FernKit projects. C++
terra The underlying CLI toolchain for managing FernKit project workflows. Python
conduit A simple socket client for synchronous, low-level networking. C++
fern A UI toolkit for WASM & Linux, rendered pixel-by-pixel from scratch. C++
fern-docs The central hub for documentation for the FernKit ecosystem. TypeScript

Getting Started

Ready to start building? The best place to begin is with the Terra CLI, which will help you sprout your first project.

# (Installation instructions will go here)
fern sprout my-first-app

Head over to the fern-docs repository for complete guides and tutorials.

Contributing

FernKit is built in the open, and we welcome contributions of all kinds. Whether you're fixing a bug, improving documentation, or proposing a new feature, your help is valued.

Please read our Contributing Guidelines (once you create this file) to get started.


<p align="center"> Thank you for visiting. We are building these tools in the open and welcome you to watch them evolve. </p>

Popular repositories Loading

  1. fern fern Public

    FernKit is a modular, WebAssembly-based graphics library for C/C++ developers. It offers pixel-perfect drawing, animation, and UI rendering in a fast, portable, and minimal footprint.

    C++ 9 2

  2. terra terra Public

    fern's underlying cli toolchain

    Python 2

  3. conduit conduit Public

    simple socket client for synchronous networking

    C++ 1 1

  4. flare flare Public

    flame is a repository for starter templates of fern projects and part of fernkit

    C++ 1

  5. fern-docs fern-docs Public

    TypeScript

  6. gleeb gleeb Public

    language server protocol for fern ui

    TypeScript

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…