mirror of
https://github.com/m1k1o/neko.git
synced 2025-05-01 19:36:22 +02:00
41 lines
No EOL
2.9 KiB
Markdown
41 lines
No EOL
2.9 KiB
Markdown
---
|
|
description: "Project structure of the neko repository."
|
|
---
|
|
|
|
# Repository Structure
|
|
|
|
This project uses a monorepo structure with the following directories:
|
|
|
|
- `server/`: Backend code, written in [Go](https://go.dev/).
|
|
- `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](https://www.typescriptlang.org/) and [Vue.js](https://vuejs.org/).
|
|
- `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](https://www.x.org/wiki/) and [Pulseaudio](https://www.freedesktop.org/wiki/Software/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.
|
|
- Supervisord configuration is expected at `/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](https://www.typescriptlang.org/) and [Docusaurus](https://docusaurus.io/), deployed on [GitHub Pages](https://pages.github.com/).
|
|
- `webpage/docs/`: Documentation for the neko project, including this README file.
|
|
- `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](https://docusaurus.io/). |