altera-new-app
Deploy a new application on the Altera framework into an empty directory — from scaffold to a working login screen — and verify that it actually runs.
Skill by IgorAIvanov
Chalk Labs
Need help deploying altera-new-app?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/igoraivanov-altera-new-app
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/altera-new-app
What's inside
- Skill name
altera-new-app- Description
- Deploy a new application on the Altera framework into an empty directory — from scaffold to a working login screen — and verify that it actually runs. Use when asked to "deploy an Altera app", "create a new Altera application", or when shown an empty folder with that intent.
- License
- MIT
- Metadata
- audience: bootstrap
- Instructions
- 182 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Deploying a New Altera Application
This skill is for an **empty directory**: there is no application yet, and your job is to
take it from `jsr:@altera/create` to a login screen someone can actually log into.
Do not stop at the scaffold. It writes the files and prints six next steps — and those steps
are where installation actually breaks, quietly: a skipped `deno install` fails later rather
than where it was skipped; a leftover `VITE_DEV_URL` gives a blank page with no error; an
empty `BLOB_TOKEN_SECRET` does not matter until the app is marked production. Walk every
step and **verify the result**, not the fact that a command ran.
## 0. Preflight
Check before creating anything — redoing it costs more:
```bash
deno --version # 2.9+ required
docker --version # only if the database goes into a container
```
Ask the user unless already told: the **project name** (lowercase latin letters, digits,
`-`, `_`, first character a letter — it becomes the database name and goes into `sql.json`)
and **where PostgreSQL comes from** — a Docker container or an existing server. Do not
invent a name if the directory is not named to the pattern.
**The name must not repeat a neighbouring application's**, and that is not about tidiness:
the template derives `PGDATABASE`, `PGUSER` and `AUTH_COOKIE_NAME` from it. Two applications
with different names collide on nothing but the numeric ports; two with the same name collide
on all three at once — and that one is quiet, because the credentials match too, so
`sql:publish` publishes this schema into the neighbour's database and says nothing. What is
already on the machine:
```bash
docker ps -a --format "{{.Names}}\t{{.Ports}}"
```
Ports, all three at once (`deno` is here anyway, and this reads the same on Windows and POSIX):
```bash
deno eval --allow-net "for (const p of [3000,5173,5432]) { try { Deno.listen({port:p}).close(); console.log(p+' free') } catch { console.log(p+' BUSY') } }"
```
A busy port is not a silent failure — Vite has `strictPort`, `Deno.serve` throws `AddrInUse`,
Docker says `port is already allocated`. Looking early is about **order**, not about the
error: `PGPORT` has to be settled *before* `deno task startdb`, because the container creates
the database with whatever `.env` held at its first start, and editing the file afterwards
changes nothing (`deno task stopdb` and up again is the way back). `PORT` and `VITE_PORT` can
be changed at any time — `VITE_PORT` only together with `VITE_DEV_URL`.
## 1. Scaffold
From inside the empty directory:
```bash
deno run -A jsr:@altera/create .
```
The project name comes from the directory name. If it does not fit the pattern (spaces,
capitals, non-latin), pass one: `deno run -A jsr:@altera/create . --name myerp`.
The scaffold refuses to write into a non-empty directory. If it does, show the user what is
in there and ask; do not reach for `--force` on your own.
## 2. `.env`
```bash
cp .env.example .env
```
Then edit it — this is not a formality, three values have to change:
- **`PGPASSWORD`** — your own (the example says `change-me`). `docker-compose.yml` reads the
same file, so the password is written once and cannot drift apart.
- **`BLOB_TOKEN_SECRET`** — it signs attachment links, and with the placeholder
`change-me-in-production` a production server refuses to start at all. Generate one:
```bash
deno eval "console.log(crypto.getRandomValues(new Uint8Array(32)).reduce((s,b)=>s+b.toString(16).padStart(2,'0'),''))"
```
- **`BOOTSTRAP_PASSWORD`** — set it if the administrator should be created automatically.
Left empty, the login screen switches to "first run: create an administrator", where a
human types both login and password. Both paths work; a password set here counts as
temporary and must be changed on the first login.
**If another Altera application already lives on this machine**, these must differ: `PORT`,
`VITE_PORT` + `VITE_DEV_URL`, `PGDATABASE`, `BLOB_TOKEN_SECRET`, and — the least obvious one
— `AUTH_COOKIE_NAME`. Cookies do not distinguish ports: to a browser `localhost:3000` and
`localhost:3001` are the same host and one cookie jar, so with a shared name, logging into
the neighbouring app silently overwrites this session. The template already puts
`<project>_session` there, so with a distinct project name (step 0) the database, the role
and the cookie differ on their own — what is left to pick by hand is the ports and
`BLOB_TOKEN_SECRET`.
## 3. Database
```bash
deno task startdb
```
Brings up PostgreSQL in Docker with the credentials from `.env`. If step 0 showed 5432
busy, change `PGPORT` rather than fighting someone else's container — and change it before
this command, not after: the container takes `.env` as it is at first start and keeps it. With an existing PostgreSQL
this step is skipped: create the database and role (`create database <name> owner <role>`)
and put them into `.env`.
## 4. Dependencies — BEFORE the build
```bash
deno install
```
Not a formality. `deno.json` carries `"vendor": true`: the Vite preset and Tailwind read the
framework sources **from disk**, and the JSR cache is a flat list of hash-named files with
nothing to scan. Skip it and the build fails with
`Could not load .../vendor/jsr.io/@altera/client/...`.
If a framework release is less than a day old, Deno will not take it ("A newer matching
version was found, but it was newer than the specified minimum dependency date") — thenFrom IgorAIvanov/altera03, MIT.
More from IgorAIvanov/altera03
- 0.584score
typebox-model-schema
IgorAIvanov
Define the complete model schema using TypeBox as the single source of truth for backend validation, SQL contract documentation, and frontend form/list/picker…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
model-form-root
IgorAIvanov
Build a model edit form (and understand the shared $root data contract behind every list, picker and form) by extending BaseUI, seeding state from the TypeBox…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
model-feature-architecture
IgorAIvanov
Design or refactor a model into a feature-centered structure where frontend UI files and database SQL source live together under app/<family>/<model>.
SkillAFreshness: A★ 1Claude Code +9 - 0.575score
db-function-contract
IgorAIvanov
Define PostgreSQL function contracts for models that use List, Get, Save, Delete, and Lookup with JSONB payloads and JSONB results.
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
model-command-access
IgorAIvanov
Declare the permission a model command requires in manifest.json (commands.access) so the runtime can enforce it.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
model-command-response
IgorAIvanov
Derive the exact shape of a model command's response before consuming it in a screen — never hand-write the interface from memory.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
daisyui
IgorAIvanov
Official daisyUI component library skill.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
screen-design-rules
IgorAIvanov
Visual and usability rules for drawing any application screen — density, colour tokens, disabled and read-only states, field widths, status marks, keyboard…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
framework-ui-internals
IgorAIvanov
Внутрішні правила client/ui-kit — чому тема перебиває daisyUI, як не зламати граф чанків, пастки Lit і TypeScript у базових класах, де проходить межа між…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
lit
IgorAIvanov
Rules and patterns for writing Lit Web Components correctly in this project.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
app-run-and-deploy
IgorAIvanov
Run the application in development or production, fill in .env, publish the schema to a local or remote database, put several instances on one machine, and…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
document-tabular-section
IgorAIvanov
Build an editable tabular section (табличну частину) of a document — controls that fill the table cell flush with the grid, decimal columns with live totals —…
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 4, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/IgorAIvanov/altera03
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from IgorAIvanov
- 0.584score
typebox-model-schema
IgorAIvanov
Define the complete model schema using TypeBox as the single source of truth for backend validation, SQL contract documentation, and frontend form/list/picker…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
model-form-root
IgorAIvanov
Build a model edit form (and understand the shared $root data contract behind every list, picker and form) by extending BaseUI, seeding state from the TypeBox…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
model-feature-architecture
IgorAIvanov
Design or refactor a model into a feature-centered structure where frontend UI files and database SQL source live together under app/<family>/<model>.
SkillAFreshness: A★ 1Claude Code +9 - 0.575score
db-function-contract
IgorAIvanov
Define PostgreSQL function contracts for models that use List, Get, Save, Delete, and Lookup with JSONB payloads and JSONB results.
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
framework-ui-internals
IgorAIvanov
Внутрішні правила client/ui-kit — чому тема перебиває daisyUI, як не зламати граф чанків, пастки Lit і TypeScript у базових класах, де проходить межа між…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
daisyui
IgorAIvanov
Official daisyUI component library skill.
SkillBFreshness: B★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get altera-new-app running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
altera-new-app skill. Agent Mart. https://agentmart.dev/skills/igoraivanov-altera-new-app (last updated 2026-10-24)