webpage/docs/developer-guide/repository-structure.md
This project uses a monorepo structure with the following directories:
server/: Backend code, written in Go.
server/cmd/: Subcommands for the neko server, such as serve and plugins.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/ or runtime/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 extending BASE_IMAGE for the application used by the build script.apps/<app-name>/Dockerfile.<flavor>: Dockerfile for the application with flavor-specific optimizations./etc/neko/supervisord/<app-name>.conf in 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.