| name | new-elysiajs |
| description | This skill should be used when the user asks to "create a backend", "set up an API server", "scaffold a REST API", "new elysia app", "create an API", or mentions "elysia", "elysiajs", "backend API", "REST API", "backend server" in the context of starting a new project. |
ElysiaJS Template Setup
Scaffold a new backend API project from the niskan516/web-template repository.
Prerequisites
git installed
bun installed (runtime and package manager)
Step 1: Collect Information
Ask the user for:
| Input | Format | Used In |
|---|
| Project name | kebab-case (e.g., my-api) | package.json, directory name |
If invoked from the new-project router skill, project name and target directory are already provided.
Step 2: Clone and Extract
The ElysiaJS template lives in a subfolder of a monorepo. Extract it:
TEMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/niskan516/web-template.git "$TEMP_DIR"
TARGET_DIR="<target-directory>/<project-name>"
cp -r "$TEMP_DIR/elysiajs/" "$TARGET_DIR"
for f in .gitignore biome.json; do
[ -f "$TEMP_DIR/$f" ] && cp "$TEMP_DIR/$f" "$TARGET_DIR/"
done
rm -rf "$TEMP_DIR"
Step 3: Customize Placeholders
Perform this replacement in the target directory:
| File | Find | Replace With |
|---|
package.json | elysiajs-template | <project-name> |
Step 4: Clean Up
Remove template-only files if any exist:
rm -f USING_THIS_TEMPLATE.md
Step 5: Initialize
cd "$TARGET_DIR"
rm -rf .git
git init
bun install
git add -A
git commit -m "Initial commit from elysiajs template"
Step 6: Verify
bun run check:all
Report the results to the user. If checks fail, investigate and fix before proceeding.
Tech Stack Summary
The scaffolded project includes:
| Category | Technology |
|---|
| Framework | ElysiaJS |
| Runtime | Bun |
| ORM | Drizzle ORM |
| Database | PostgreSQL |
| Auth | better-auth |
| API Client | Eden type export |
| Validation | TypeBox |
| Docs | Swagger |
| Logging | LogTape |
| Linting | Biome |
| Git hooks | Lefthook |
| Testing | Vitest |