21 مستودعات
Interfaces that decouple high-level application logic from underlying disk I/O and file state management.
Distinguishing note: Focuses on architectural decoupling of file operations rather than raw storage or database management.
Explore 21 awesome GitHub repositories matching software engineering & architecture · File System Abstractions. Refine with filters or upvote what's useful.
LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses a log-structured merge-tree architecture to map byte arrays to values, running directly within a process to provide storage without the need for a separate server process. The system is distinguished by its use of custom comparison functions to define key ordering, enabling efficient range scans and sequenced lookups. It ensures data reliability through atomic batch execution, consistent snapshot generation, and log-based recovery after failures. The engine covers broad capab
Decouples the storage engine from the operating system using an abstract file system interface.
Void is an AI-powered code editor designed to integrate automated code generation and modification directly into the development workflow. It functions as a specialized engine for programmatic refactoring, enabling users to apply systematic changes to source files through structured diffs and full-file rewrites. The platform distinguishes itself through a centralized communication layer that manages secure interactions between local environments and external language model providers. It incorporates a structured approval pipeline that tracks pending modifications, allowing developers to revie
Provides an abstracted interface to manage document persistence and decouple editing operations from disk I/O.
Cookiecutter is a command-line project templating engine and scaffolding tool used to automate the creation of software project structures. It functions as a project automator that generates initialized repositories and directories from predefined templates using variable substitution. The system utilizes the Jinja2 templating language to render files and folders, transforming generic blueprints into customized codebases based on user input. It supports template distribution via Git repositories or zip archives, allowing for the standardization of development environments across teams. The t
Implements an abstraction layer that decouples the template blueprint structure from the actual local file system writing process.
Roo-Code is an integrated development environment extension that functions as an autonomous software engineering agent. It connects large language models directly to your local file system and terminal, enabling the agent to interpret natural language requirements and execute complex development workflows. The project distinguishes itself through a model-agnostic orchestration layer that allows developers to connect various large language model backends to their local workspace. By utilizing an iterative tool-use loop, the agent decomposes high-level tasks into sequential steps, interacting w
Implements a secure abstraction layer to restrict and manage file system access during automated code manipulation.
This project is a high-performance, lightweight C graphics library designed for creating interactive user interfaces on resource-constrained embedded hardware. It functions as a comprehensive framework that provides a widget toolkit, a rendering engine, and hardware-agnostic drivers to support the development of graphical displays on microcontrollers and embedded systems. The framework distinguishes itself through a flexible, object-oriented widget hierarchy and a declarative layout engine that supports responsive design patterns like flexbox and grid systems. It enables developers to synchro
Maps storage devices to specific identifier letters to provide a unified interface for reading and writing files.
This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c
Uses interfaces to decouple application logic from specific file system storage implementations.
Omarchy is a directory structure orchestrator that automates the provisioning and maintenance of file system hierarchies. By utilizing declarative configuration files, it allows users to define a desired workspace layout that serves as a single source of truth, ensuring that local development environments remain consistent and reproducible across distributed teams. The tool functions as an infrastructure-as-code utility for local environments, employing idempotent reconciliation to compare the current file system state against the defined configuration. It automatically applies only the neces
Provides a unified interface for directory operations that abstracts away underlying host operating system differences.
Eleventy is a JavaScript-based static site generator designed to transform templates, data files, and markdown into optimized HTML. It functions as a versatile template rendering engine and content management framework, allowing developers to aggregate data from diverse sources—including local files, databases, and external APIs—to populate structured web content. The project is distinguished by its template-engine-agnostic pipeline, which decouples the build process from specific rendering languages. This allows users to integrate multiple template formats, such as Liquid, Nunjucks, Handleba
Maps project directory structures to output URLs while allowing programmatic access to content without requiring physical disk writes.
Luigi is a Python framework designed for building and managing complex batch data pipelines. It functions as a workflow orchestration engine that organizes tasks into directed acyclic graphs, ensuring that jobs execute in the correct logical order based on their dependencies. By utilizing a centralized scheduler, the system coordinates task execution across distributed environments, tracks global workflow state, and prevents redundant processing by verifying the existence of output targets before triggering any work. The project distinguishes itself through a robust state-tracking mechanism t
Implements file system abstractions that ensure atomic operations and prevent data corruption.
Superfile is a cross-platform terminal file manager and TUI file explorer. It provides a keyboard-driven interface for browsing the filesystem and managing local files and folders within a command line environment. The application enables local file system administration and command line workflows by allowing users to navigate directory structures and perform file operations without manual path commands. It is designed as a cross-platform CLI tool to ensure consistent filesystem manipulation across different operating systems.
Provides a unified interface to wrap low-level OS calls for consistent file operations across different platforms.
YoutubeDownloader is a desktop application designed to retrieve and archive video and audio content from online platforms. It enables users to download media files directly to local storage, providing options to select specific quality levels and file formats to suit local playback requirements. The application distinguishes itself through its ability to access restricted or private content by utilizing personal account credentials. By managing session authentication, it allows for the retrieval of media that is not accessible to the general public. Furthermore, it incorporates automated work
Abstracts local file system operations to manage media storage, naming, and encoding.
NotepadNext is a desktop productivity application designed for creating and modifying plain text documents. It functions as a lightweight tool for managing local files, providing a consistent editing environment across Windows, macOS, and Linux operating systems. The application utilizes a cross-platform interface framework to ensure native-looking components and reliable file operations regardless of the host environment. By separating the underlying text data structures from the visual representation, the software maintains a clear distinction between document management logic and the user
Provides a unified interface for file operations across different operating systems, abstracting platform-specific system calls.
Assimp is a cross-platform 3D asset pipeline and import library that loads numerous industry-standard 3D file formats into a single unified internal data structure. It functions as a framework for converting 3D models between different file formats across multiple operating systems and architectures. The project provides a 3D mesh processing tool for normalizing and optimizing geometry through triangulation, vertex removal, and normal generation. It also includes a 3D asset export utility to write internal scene data back into various external file formats. The system covers broad capability
Provides a wrapper layer that decouples 3D model loading from the physical disk to support memory buffers.
This project is a comprehensive learning resource and reference guide for software architecture and distributed systems design. It serves as a structured curriculum for engineers to study fundamental architectural patterns, scalability strategies, and distributed computing theory, specifically tailored to prepare for technical interviews and professional engineering roles. The repository distinguishes itself by providing a curated collection of industry-standard infrastructure tools and methodologies. It covers the selection and implementation of technologies for data storage, message brokeri
Provides architectural abstractions that decouple high-level application logic from underlying storage state management.
Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement. The project is distinguished by its use of pooled mutable byte buffers that treat sequences as queues to reduce memory copying and garbage collection churn. It further decouples file operations from the host operating system through an abstraction-based file system, allowing for consistent path manipulation and atomic operations acro
Provides interfaces that decouple high-level file operations from the underlying storage, supporting disk, ZIP, and in-memory systems.
CMake هو مولد نظام بناء عبر المنصات وأداة لأتمتة البناء. يُستخدم لتحديد متطلبات البناء والتبعيات لكود مصدر C وC++، وإدارة عملية التجميع والربط عبر أنظمة تشغيل مختلفة. يعمل المشروع عن طريق إنشاء ملفات بناء ونصوص برمجية خاصة بالمنصة من إعداد واحد. يسمح هذا بتوحيد كيفية تجميع البرمجيات وتغليفها للمترجمين وأدوات التطوير عبر بيئات متنوعة. تغطي الأداة إعداد مشاريع C++ وتجميع التطبيقات الأصلية لسطح المكتب والأنظمة المدمجة. توفر أتمتة بناء عبر المنصات لضمان نتائج متسقة عند تحويل كود المصدر إلى ملفات ثنائية قابلة للتنفيذ.
Provides an abstraction layer to standardize file and path handling across different operating systems.
Spatie's Laravel Medialibrary is a plugin for the Laravel framework that attaches uploaded files to Eloquent models and organizes them into named collections for retrieval. It functions as both a file attachment system and an image manipulation library, allowing developers to associate files with database records through a dedicated media collection interface. The library groups related files under named collections so each model can hold multiple distinct sets of media, and it resizes, crops, or applies filters to images on the fly without altering the original file. It also generates derive
Stores files on configurable disks via Laravel's filesystem for transparent switching between storage backends.
This repository is a reference implementation and guided tutorial for building an AI coding agent that combines conversational interaction with file system manipulation and sandboxed shell execution. The agent uses a large language model as its core decision-making component, operating within a turn-based conversational loop where it can generate responses or invoke tools, and tool results are fed back into the dialogue. It provides primitives for reading, writing, and listing files on the local filesystem, as well as searching code using regular expressions. The agent’s capabilities are exte
Provides a unified interface that decouples file operations from OS-specific details for the agent.
This is a command-line client for managing multiple Aliyun Drive accounts from a single interface. It authenticates each account via an OAuth browser-based login flow, stores tokens separately, and allows switching between active sessions. The tool unifies local and cloud file paths under a common tree structure, enabling consistent browsing, upload, download, and organization across all connected accounts. The client implements several techniques to accelerate and control file transfers. Downloads are split into chunks and transferred concurrently across multiple streams, with progress track
Unifies local file paths and cloud drive identifiers under a common tree structure for consistent traversal.
CapsWriter-Offline is a suite of desktop tools that operates without an internet connection, combining local media browsing, voice dictation, audio and video transcription, and 360-degree media viewing into a single application. The project's core identity centers on providing offline functionality for both media handling and speech-to-text workflows. What distinguishes it is the integration of voice dictation with a persistent local storage layer that saves every audio recording and daily transcript logs, along with a rule-based text normalization engine that converts spoken number phrases a
Provides a uniform interface for browsing, organizing, and caching media files across directories.