{"id":50766721,"url":"https://github.com/underpostnet/engine-prototype","last_synced_at":"2026-06-11T14:01:41.606Z","repository":{"id":361910658,"uuid":"1256179986","full_name":"underpostnet/engine-prototype","owner":"underpostnet","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-08T21:53:16.000Z","size":51818,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T23:23:55.312Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/underpostnet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-01T14:34:39.000Z","updated_at":"2026-06-08T21:54:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/underpostnet/engine-prototype","commit_stats":null,"previous_names":["underpostnet/engine-prototype"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/underpostnet/engine-prototype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/underpostnet%2Fengine-prototype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/underpostnet%2Fengine-prototype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/underpostnet%2Fengine-prototype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/underpostnet%2Fengine-prototype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/underpostnet","download_url":"https://codeload.github.com/underpostnet/engine-prototype/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/underpostnet%2Fengine-prototype/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34201842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T14:01:41.397Z","updated_at":"2026-06-11T14:01:41.597Z","avatar_url":"https://github.com/underpostnet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://underpost.net/assets/splash/apple-touch-icon-precomposed.png\" alt=\"underpost engine core server\"/\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003eunderpost\u003c/h1\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca target=\"_top\" href='https://download.rockylinux.org/pub/rocky/9/'\u003e\u003cimg alt='rockylinux' src='https://img.shields.io/badge/Rocky Linux v9.6-100000?style=flat\u0026logo=rockylinux\u0026logoColor=white\u0026labelColor=10b981\u0026color=727273'/\u003e\u003c/a\u003e \u003ca target=\"_top\" href='https://www.npmjs.com/package/npm?activeTab=versions'\u003e\u003cimg alt='npm' src='https://img.shields.io/badge/npm v11.6.2-100000?style=flat\u0026logo=npm\u0026logoColor=white\u0026labelColor=CB3837\u0026color=727273'/\u003e\u003c/a\u003e \u003ca target=\"_top\" href='https://nodejs.org/download/release'\u003e\u003cimg alt='nodedotjs' src='https://img.shields.io/badge/node v24.15.0-100000?style=flat\u0026logo=nodedotjs\u0026logoColor=white\u0026labelColor=5FA04E\u0026color=727273'/\u003e\u003c/a\u003e \u003ca target=\"_top\" href='https://pgp.mongodb.com/'\u003e\u003cimg alt='mongodb' src='https://img.shields.io/badge/mongodb_server v7.0-100000?style=flat\u0026logo=mongodb\u0026logoColor=white\u0026labelColor=47A248\u0026color=727273'/\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![](https://data.jsdelivr.com/v1/package/npm/underpost/badge)](https://www.jsdelivr.com/package/npm/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/3.2.22)](https://socket.dev/npm/package/underpost/overview/3.2.22) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)\n\n\u003c/div\u003e\n\n#### Base template for pwa/api-rest projects.\n\n## Underpost Platform\n\n**Underpost** is an platform for application delivery, from infrastructure to runtime. The `underpost` npm package is its CLI toolchain surface.\n\nThe project covers:\n\n- **Bare metal provisioning** on Rocky Linux 9.\n- **Kubernetes / K3s / kubeadm / LXD** workflows for production, edge, and isolated workloads.\n- **GitHub OSS repository flow** — clone, pull, push, commit, release, and CI integrations as first-class CLI subcommands.\n- **CI/CD orchestration** — GitHub Actions integrations, container builds, multi-environment deployments.\n- **Static build + PWA delivery** — every deploy ships as an installable Progressive Web App with Workbox-based offline support.\n- **Cloudinary-backed static asset flow** for image/asset delivery.\n- **ERP/CRM-style PWA base applications** as the default workload.\n- **Cyberia** — a dedicated MMO extension built on top of the platform, with its own content backend (`engine-cyberia`), authoritative simulation runtime (`cyberia-server`), and presentation runtime (`cyberia-client`).\n\n\u003ca target=\"_top\" href=\"Https://github.com/underpostnet/engine/blob/master/src/client/public/cyberia-docs/UNDERPOST-PLATFORM.md\"\u003eSee Detailed platform doc.\u003c/a\u003e\n\n### Architectural roles (Cyberia stack)\n\nWhen the platform is hosting the Cyberia MMO extension, three independent runtime processes participate. Their boundaries are non-overlapping.\n\n| Process                              | Role                                                                                                                                                                       |\n| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **engine-cyberia** (Node.js)         | Content authority: maps, object layers, atlas/asset metadata, world configuration, persistence, validation, gRPC + REST data services, editor backend, asset distribution. |\n| **cyberia-server** (Go)              | Authoritative simulation runtime: tick advancement, AOI replication, input command processing, snapshot generation.                                                        |\n| **cyberia-client** (C → WebAssembly) | Presentation runtime: rendering, UI, input capture, prediction, reconciliation, interpolation, client-side presentation defaults.                                          |\n\nThe ecosystem is **playable only when all three are running and healthy**. Each service is supervised independently and owns its own monitor/reconnector. If any one is unhealthy, the game enters standby and resumes automatically once all three are healthy again.\n\n\u003ca target=\"_top\" href=\"https://github.com/underpostnet/engine-cyberia/blob/master/src/client/public/cyberia-docs/ARCHITECTURE.md\"\u003eSee detailed Cyberia architecture.\u003c/a\u003e\n\n## Create a new project\n\n```bash\nnpm install -g underpost\n```\n\n```bash\nunderpost new app-name\n```\n\nAfter template installation, the server will be running on \u003ca target=\"_top\" href=\"http://localhost:4001\"\u003ehttp://localhost:4001\u003c/a\u003e\n\n## Usage\n\n```bash\ncd app-name\n```\n\nBuild client bundle\n\n```bash\nnpm run build\n```\n\nRun dev client server\n\n```bash\nnpm run dev\n```\n\n\u003ca target=\"_top\" href=\"https://www.nexodev.org/docs?cid=src\"\u003eSee Docs.\u003c/a\u003e\n\n\u003c!-- cli-index-start --\u003e\n## Underpost CLI\n\n\u003e underpost ci/cd cli v3.2.22\n\n**Usage:** `underpost [options] [command]`\n\n### Global options\n\n| Option | Description |\n| --- | --- |\n| `-V, --version` | output the version number |\n| `-h, --help` | display help for command |\n\n### Commands\n\n| Command | Description |\n| --- | --- |\n| [`new`](CLI-HELP.md#underpost-new) | Initializes a new Underpost project, service, or configuration. |\n| [`client`](CLI-HELP.md#underpost-client) | Builds client assets, single replicas, and/or syncs environment ports. |\n| [`start`](CLI-HELP.md#underpost-start) | Initiates application servers, build pipelines, or other defined services based on the deployment ID. |\n| [`clone`](CLI-HELP.md#underpost-clone) | Clones a specified GitHub repository into the current directory. |\n| [`pull`](CLI-HELP.md#underpost-pull) | Pulls the latest changes from a specified GitHub repository. |\n| [`cmt`](CLI-HELP.md#underpost-cmt) | Manages commits to a GitHub repository, supporting various commit types and options. |\n| [`push`](CLI-HELP.md#underpost-push) | Pushes committed changes from a local repository to a remote GitHub repository. |\n| [`env`](CLI-HELP.md#underpost-env) | Sets environment variables and configurations related to a specific deployment ID. |\n| [`static`](CLI-HELP.md#underpost-static) | Manages static build of page, bundles, and documentation with comprehensive customization options. |\n| [`config`](CLI-HELP.md#underpost-config) | Manages Underpost configurations using various operators. |\n| [`root`](CLI-HELP.md#underpost-root) | Displays the root path of the npm installation. |\n| [`ip`](CLI-HELP.md#underpost-ip) | Displays the current public machine IP addresses. |\n| [`cluster`](CLI-HELP.md#underpost-cluster) | Manages Kubernetes clusters, defaulting to Kind cluster initialization. |\n| [`deploy`](CLI-HELP.md#underpost-deploy) | Manages application deployments, defaulting to deploying development pods. |\n| [`secret`](CLI-HELP.md#underpost-secret) | Manages secrets for various platforms. |\n| [`image`](CLI-HELP.md#underpost-image) | Manages Docker images, including building, saving, and loading into Kubernetes clusters. |\n| [`install`](CLI-HELP.md#underpost-install) | Quickly imports Underpost npm dependencies by copying them. |\n| [`db`](CLI-HELP.md#underpost-db) | Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration. |\n| [`metadata`](CLI-HELP.md#underpost-metadata) | Manages cluster metadata operations, including import and export. |\n| [`cron`](CLI-HELP.md#underpost-cron) | Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manifests. |\n| [`fs`](CLI-HELP.md#underpost-fs) | Manages file storage, defaulting to file upload operations. |\n| [`test`](CLI-HELP.md#underpost-test) | Manages and runs tests, defaulting to the current Underpost default test suite. |\n| [`monitor`](CLI-HELP.md#underpost-monitor) | Manages health server monitoring for specified deployments. |\n| [`ssh`](CLI-HELP.md#underpost-ssh) | Manages SSH credentials and sessions for remote access to cluster nodes or services. |\n| [`run`](CLI-HELP.md#underpost-run) | Runs specified scripts using various runners. |\n| [`lxd`](CLI-HELP.md#underpost-lxd) | Manages LXD virtual machines as K3s nodes (control plane or workers). |\n| [`baremetal`](CLI-HELP.md#underpost-baremetal) | Manages baremetal server operations, including installation, database setup, commissioning, and user management. |\n| [`release`](CLI-HELP.md#underpost-release) | Release orchestrator for building new versions and deploying releases of the Underpost CLI. |\n\n\u003c!-- cli-index-end --\u003e\n\n\u003ca target=\"_top\" href=\"https://github.com/underpostnet/pwa-microservices-template/blob/master/CLI-HELP.md\"\u003eSee CLI Docs.\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funderpostnet%2Fengine-prototype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funderpostnet%2Fengine-prototype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funderpostnet%2Fengine-prototype/lists"}