{"id":45893793,"url":"https://github.com/netuno-org/platform","last_synced_at":"2026-02-27T19:51:13.654Z","repository":{"id":37273724,"uuid":"392833670","full_name":"netuno-org/platform","owner":"netuno-org","description":"🚀 All Netuno core capabilities, such as CLI and Web Server.","archived":false,"fork":false,"pushed_at":"2026-02-24T17:55:51.000Z","size":319732,"stargazers_count":67,"open_issues_count":11,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-24T21:55:29.671Z","etag":null,"topics":["framework","netuno","netuno-platform","platform","server"],"latest_commit_sha":null,"homepage":"https://netuno.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netuno-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2021-08-04T21:56:29.000Z","updated_at":"2026-02-24T17:55:56.000Z","dependencies_parsed_at":"2023-02-18T10:46:55.237Z","dependency_job_id":"2f05fe52-6735-4def-b9f2-dc3cdafd614a","html_url":"https://github.com/netuno-org/platform","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/netuno-org/platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netuno-org%2Fplatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netuno-org%2Fplatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netuno-org%2Fplatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netuno-org%2Fplatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netuno-org","download_url":"https://codeload.github.com/netuno-org/platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netuno-org%2Fplatform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29911353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["framework","netuno","netuno-platform","platform","server"],"created_at":"2026-02-27T19:51:13.150Z","updated_at":"2026-02-27T19:51:13.645Z","avatar_url":"https://github.com/netuno-org.png","language":"JavaScript","readme":"# Netuno Platform: [Get Started](https://doc.netuno.org/docs/get-started/installation)\n\n### To install, follow the [Get Started](https://doc.netuno.org/docs/get-started/installation).\n\nQuickly build applications adapted to your business logic.\n\nIn here you can find the source of all the Netuno core capabilities, such as CLI and Web Server.\n\nJoin [Netuno’s Discord](https://discord.gg/4sfXG6YWFu) for help and to know more, you are welcome.\n\nYou can follow to not lose the news, tips, and tutorials:\n\n- [YouTube](https://www.youtube.com/channel/UCYY1Nz6T2NJtP29vba2fqkg)\n- [LinkedIn](https://www.linkedin.com/company/netuno-org/)\n- [Facebook](https://www.facebook.com/netuno.org/)\n- [Instagram](https://www.instagram.com/netuno_org/)\n- [Twitter](https://twitter.com/netuno_org)\n\n[Netuno.org](https://www.netuno.org/) is the official website.\n\n![Overview](https://raw.githubusercontent.com/netuno-org/platform/main/docs/overview.png)\n\nFind more in [netuno.org](https://www.netuno.org/)\n\n[Get Started](https://doc.netuno.org/docs/get-started/installation)\n\u0026middot; [First Steps](https://doc.netuno.org/docs/academy/ui/graphical-interface)\n\u0026middot; [Polyglot](https://doc.netuno.org/docs/academy/understand/polyglot)\n\nDocumentation highlights:\n\n[REST](https://doc.netuno.org/docs/academy/server/services/rest)\n\u0026middot; [OpenAPI](https://doc.netuno.org/docs/academy/server/services/openapi)\n\u0026middot; [Cron Jobs](https://doc.netuno.org/docs/academy/server/cron-jobs/)\n\u0026middot; [Monitor \u0026 Alerts](https://doc.netuno.org/docs/academy/server/monitor-alerts/)\n\n## Polyglot Low-Code Web Applications\n\n![Application Architecture](https://raw.githubusercontent.com/netuno-org/platform/main/docs/app-architecture.png)\n\nNetuno is written in Java and runs in GraalVM to facilitate web application development, it currently suppports the following programming languages:\n\n- [JavaScript/ES6](https://www.graalvm.org/javascript/)\n- [Groovy](https://groovy-lang.org)\n- [JRuby (Ruby)](https://www.jruby.org)\n- [Jython (Python)](https://www.jython.org)\n- [Kotlin](https://kotlinlang.org)\n\n\u003e 😎 While you are programming you won't need to restart the server to compile the newly updated code.\n\u003e\n\u003e All log outputs such as server-side, client-side (NPM `run watch`) and other outputs are integrated in the same console. By having this feature you'll only need to look to one console thus easing your work.\n\n## Build Requirements\n\n- Linux, macOS and Windows;\n- Maven\n- NodeJS\n- Java 11\n\n## Setup\n\nTo install the Netuno Platform, please, follow the:\n\n### ➡️  [Get Started](https://doc.netuno.org/docs/en/installation/)\n\nContinue with the steps below if you want to compile from scratch and change the Netuno Platform, then start cloning this repository.\n\nMake sure to use the GraalVM JDK as your Java environment:\n\n- [GraalVM with Java 25](https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-25.0.2)\n\n## Linux or Mac\n\nAllow permission to execute:\n\n```sh\n $ chmod +x setup.sh\n```\n\nRun the setup script:\n```sh\n $ ./setup.sh\n```\n\n## Windows\n\nYou need to run PowerShell as an administrator, then follow the steps.\n\n```ps1\n $ .\\setup.ps1\n```\n\nAfter running the script in PowerShell as an administrator, it will verify if all dependencies are installed. If there are dependencies to be installed, it will prompt to ask if you want to install them.\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/win-install/checking.png\" width=\"300\" style=\"border-radius: 10px;\"/\u003e\n\nDepending on the dependencies, it will ask if you allow restarting the computer, as this is necessary to proceed.\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/win-install/menu.png\" width=\"300\" style=\"border-radius: 10px;\"/\u003e\n\nAfter installation and following the steps indicated by the script, run option 1 to configure the project and option 2 to generate a bundle.\n\n\n## Fix ClassGraph Error\nIf you see the error:\n```java.lang.NoClassDefFoundError: io/github/classgraph/ClassGraph```\nit means the **ClassGraph** library is missing.\n\n---\n\n### Solution\n\n1. **Download the library**  \n   Get the `.jar` file from:  \n   👉 [ClassGraph on Maven Repository](https://mvnrepository.com/artifact/io.github.classgraph/classgraph)\n\n2. **Install the library**  \n   Place the downloaded `.jar` in:  \n\t```.\\bundle\\base\\web\\WEB-INF\\lib```\n\n## Bundle\n\n### Windows Commands\n\n```ps1\n $ cd bundle\n```\n\n```ps1\n $ ./publish.ps1\n```\n\n### Linux or Mac Commands\n```sh\n $ cd bundle\n```\n\n```sh\n $ ./publish.sh\n```\n\nThe published Netuno version will be generated in `bundle/dist/netuno*` which is based on the final output generated in `bundle/out/netuno`.\n\n## Build\n\nThe build script executes the Maven phases: clean and package.\n\n### Windows Commands\n\n```sh\n $ ./build.ps1\n```\n\n### Linux or Mac Commands\n\n```sh\n $ ./build.sh\n```\n\n## Run\n\nLook at how to run directly with Maven.\n\nShort server initialization:\n\n```sh\nmvn test -Pcli-server -Dapp=demo -Drevision=DEV -Dmaven.test.skip=true\n```\n\nFull arguments:\n\n```sh\nmvn test -Pcli -Dexec.args=\"server app=demo home=bundle/base\" -Drevision=DEV -Dmaven.test.skip=true\n```\n\nYour apps in a relative path:\n\n```sh\nmvn test -Pcli -Dexec.args=\"server app=demo home=bundle/base apps=../../netuno/apps\" -Drevision=DEV -Dmaven.test.skip=true\n```\n\nYour apps in an absolute path:\n\n```sh\nmvn test -Pcli -Drevision=DEV -Dexec.args=\"server app=demo home=bundle/base apps=/srv/netuno/apps\"\n```\n\n\u003e Remember to change app=demo to your app name.\n\n## Run/Debug With IntelliJ IDEA Community Edition\n\nCreate a new project in the menu File \u003e New  \u003e Project from Existing Sources...\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-new-project-from-existing-sources.png\" width=\"450\"/\u003e\n\n\u003e Choose the folder where this repository was cloned.\n\nNow choose Import project from external model \u003e Maven:\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-import-project.png\" width=\"525\"/\u003e\n\nYour project panel should look like this:\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-project-modules.png\" width=\"300\"/\u003e\n\nThese modules should be detected automatically:\n- netuno.cli\n- netuno.library.doc\n- netuno.proteu\n- netuno.psamata\n- netuno.tritao\n\nIn the top bar click on Add Configuration...\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-add-configuration.png\" width=\"450\"/\u003e\n\nThen click on the + (plus) button and choose the Application option:\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-run-debug-add-application.png\" width=\"525\"/\u003e\n\nConfigure the fields like this:\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-run-debug-configurations.png\" width=\"525\"/\u003e\n\nMake sure of:\n- [GraalVM with Java 25](https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-25.0.2)\n- Module is `netuno-cli`\n- Main class is `org.netuno.cli.Main`\n- Working directory is `bundle/base`\n\n🎉 Have fun!\n\n### IntelliJ Run/Debug Error\n\nIf you get this error:\n\n```\nConnected to the target VM, address: '127.0.0.1:62490', transport: 'socket'\nException in thread \"main\" java.lang.NoClassDefFoundError: kotlin/TypeCastException\n\tat kotlinx.coroutines.debug.AgentPremain.\u003cclinit\u003e(AgentPremain.kt:26)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\tat java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)\n\tat java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)\nCaused by: java.lang.ClassNotFoundException: kotlin.TypeCastException\n\tat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)\n\tat java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)\n\t... 7 more\n*** java.lang.instrument ASSERTION FAILED ***: \"result\" with message agent load/premain call failed at ./src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 422\nFATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed\nDisconnected from the target VM, address: '127.0.0.1:62490', transport: 'socket'\n\nProcess finished with exit code 134 (interrupted by signal 6: SIGABRT)\n```\n\nJust go to IDE Preferences and disable the coroutine agent:\n\n\u003cimg src=\"https://raw.githubusercontent.com/netuno-org/platform/main/docs/idea-disable-coroutines-agent.png\" width=\"450\"/\u003e\n\n\u003e Click on Apply button.\n\nNow it should run/debug normally.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetuno-org%2Fplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetuno-org%2Fplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetuno-org%2Fplatform/lists"}