Starting point for building apps and MCP tools on the SEMOSS platform. Includes a React frontend, Java reactors, and Python tool support.
assets/
├── client/ React + Vite + Tailwind v4 + shadcn/ui (frontend source)
├── java/ Java reactors (backend logic, compiled by SEMOSS)
├── py/ Python tools (simple transforms, API calls)
├── mcp/ Auto-generated MCP manifests (do not edit)
├── portals/ Built frontend output (do not edit directly)
├── classes/ Compiled Java .class files (do not edit)
├── target/ Maven build artifacts (do not edit)
├── pom.xml Maven config for Java reactors
├── AGENTS.md LLM agent reference for this codebase
└── README.md This file
-
Create an app in the SEMOSS UI → App page → "Create New App" → choose pro-code. Note the app ID from the URL.
-
Clone this template into your app's
assetsfolder:cd workspace/Semoss/project/[YourApp]_[app-id]/app_root/version/ mv assets old-assets git clone <repo-url> assets -
Install dependencies:
cd assets/client pnpm i -
Set your app ID in
client/.env.local:APP="your-app-id" -
Develop:
cd client pnpm dev # Local dev server with hot reload pnpm build # Production build → portals/ -
Publish: In the SEMOSS UI, open the editor → click "Publish files" to make changes visible to users.
- Frontend (
client/): React app using@semoss/sdkto communicate with SEMOSS. Builds toportals/. Seeclient/README.md. - Java Reactors (
java/): Backend logic compiled by SEMOSS intoclasses/. Click "Recompile reactors" in the SEMOSS UI after changes. Seejava/README.md. - Python Tools (
py/): Add MCP tools inpy/mcp_driver.pywith@mcp_metadatadecorator. Simple tools can use Playground's default UI (no React needed) by omittingresourceURI. - MCP Manifests (
mcp/): Auto-generated. RunMakePythonMCP()orMakePixelMCP(...)to regenerate. Never edit manually. - Publishing: The SEMOSS UI snapshots
portals/to a public location. Build first, then publish.
client/README.md— Frontend setup, commands, shadcn/uijava/README.md— Java reactor developmentAGENTS.md— Conventions and rules for LLM agents working in this codebase