Repository Structure
This project uses a monorepo structure with the following directories:
-
server/: Backend code, written in Go.server/cmd/: Subcommands for the neko server, such asserveandplugins.server/dev/: Development scripts to run/build the neko server locally in Docker.server/internal/: Internal packages used by the neko server.server/pkg/: Packages used by the neko server that can be used by other projects.server/plugins/: Directory for plugins that will be built and used by the neko server.
-
client/: Frontend code, written in TypeScript and Vue.js.client/dev/: Development scripts to run/build the neko client locally in Docker.client/public/: Public files for the neko client, such as icons and images.client/src/: Source code for the neko client, including components and pages.client/tools/: Tools used for generating code for the neko client, such as emojis.
-
runtime/: Runtime environment, with Xorg and Pulseaudio servers and the necessary dependencies for the applications to run.runtime/fontconfig/: Font configuration files copied to/etc/fonts/conf.d/in the neko runtime.runtime/fonts/: Empty directory placeholder to include custom fonts in the neko runtime.runtime/icon-theme/: Empty directory placeholder to include a custom icon theme in the neko runtime.runtime/intel/orruntime/nvidia/: Directories with files for flavor-specific releases of the neko runtime.
-
apps/: Contains the applications that run in the neko, such as Firefox, Chrome, etc.apps/<app-name>/Dockerfile: Dockerfile extendingBASE_IMAGEfor the application used by the build script.apps/<app-name>/Dockerfile.<flavor>: Dockerfile for the application with flavor-specific optimizations.- Supervisord configuration is expected at
/etc/neko/supervisord/<app-name>.confin the application image.
-
utils/: Utility scripts, tools, and dependencies.utils/docker/: Dockerfile generator that builds the base image by concatenating multiple Dockerfiles.utils/xorg-deps/: Custom-made or patched Xorg dependencies, such as drivers.
-
webpage/: Webpage code for neko.m1k1o.net, written in TypeScript and Docusaurus, deployed on GitHub Pages.webpage/docs/: Documentation for the neko project, including this README file.webpage/scripts/: Helper scripts for generating configuration and OpenAPI docs.webpage/src/: Source code, components, and styles for the webpage.webpage/static/: Static files for the webpage, such as images and icons.webpage/versioned_*: Versioned documentation files for the neko project, generated by Docusaurus.