Skip to content
Agentmart
Submit a tool

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

IndexedMIT★ 1
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

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.

Use cases: devops

No 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") — then

From IgorAIvanov/altera03, MIT.

More from IgorAIvanov/altera03

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from IgorAIvanov

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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying altera-new-app?

CallGet help
Cite this page

altera-new-app skill. Agent Mart. https://agentmart.dev/skills/igoraivanov-altera-new-app (last updated 2026-10-24)