app-run-and-deploy
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…
Skill by IgorAIvanov
Chalk Labs
Need help deploying app-run-and-deploy?
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-app-run-and-deploy
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: backend, devops, productivity
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/app-run-and-deploy
What's inside
- Skill name
app-run-and-deploy- Description
- 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 deploy to Deno Deploy. Use whenever the task is starting the app, a connection or environment variable, a build that behaves differently from dev, or shipping the app to a server.
- License
- MIT
- Metadata
- audience: app
- Instructions
- 195 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Running and Deploying the Application
Use this skill when:
- starting the app, in development or production
- something in `.env` needs to be set, and it is not obvious which variable
- the production build behaves differently from `deno task dev`
- publishing the schema to a database that is not the local container
- putting a second application (or a training copy) on the same machine
- deploying to Deno Deploy
The framework is a library: it never reads `Deno.env` by itself. The application does, in
one place — `configFromEnv()` inside `app/server.ts`. Every variable below is read there.
## Tasks
```bash
deno task dev # backend + Vite together
deno task dev:server # backend only (--watch)
deno task dev:front # Vite only
deno task build:front # production build into dist/
deno task startdb # docker compose up -d (PostgreSQL)
deno task sql:registry # regenerate app/_generated/** from manifest.json
deno task sql:assemble # build the SQL package from the models' db/ files
deno task sql:publish # publish it into the LOCAL database
deno task sql:deploy --yes # publish it into a REMOTE database
deno task skills:sync # refresh .claude/skills from @altera/skills
```
After changing a model, almost always the same three:
```bash
deno task sql:registry && deno task sql:assemble && deno task sql:publish
```
## `.env`
One file, in the repository root — `docker-compose.yml` feeds from it too, so the database
password is written once. The template is `.env.example`; keep it current.
```
# Connection — libpq names, the ones psql, pg_dump and every managed database
# already understand. A provider that hands out a single string goes into
# DATABASE_URL: it is read when PGHOST and PGDATABASE are not set. The source is
# taken whole, never field by field.
# DATABASE_URL=postgres://user:pass@host:5432/db?sslmode=require
PGHOST=localhost
PGPORT=5432
PGDATABASE=myapp
PGUSER=myapp
PGPASSWORD=change-me
PGSSLMODE= # empty → derived from the host: local plain, anything else `require`
DB_POOL_SIZE=10 # 1–3 on serverless: many isolates, each with its own pool
PORT=3000 # backend; vite.config.ts reads it too, to point the /api proxy here
VITE_PORT=5173 # Vite dev server; strictPort is on
VITE_DEV_URL=http://localhost:5173 # non-empty → views are served by Vite (dev mode)
BLOB_TOKEN_SECRET=change-me-in-production # signs attachment links; the placeholder
# refuses to start in production
AUTH_SESSION_TTL_HOURS=720
AUTH_COOKIE_SECURE= # empty → on in production, off locally (http)
AUTH_COOKIE_NAME=myapp_session # unique per machine — see "Several instances"
BOOTSTRAP_LOGIN=admin # login + password together → an administrator is created
BOOTSTRAP_PASSWORD= # on the first successful login
```
Everything else has a default. Two rules worth remembering:
- **`--env-file` does not override variables already exported in the shell.** `PGHOST` is a
name people do export globally for their own `psql`, and then it quietly beats the
project's `.env`. Where the app actually went is printed at startup:
`✅ PostgreSQL <host>:<port>/<database> відповідає`. Start there when the data looks wrong.
- **TLS to the database follows the host** unless `PGSSLMODE` says otherwise. A managed
database will not accept a plain connection, a local container does not offer TLS, and
the only way to get this wrong is to forget the variable — so the default covers exactly
that case. An explicit value, `disable` included, always wins; an unknown one fails at
startup rather than silently opening an unencrypted connection.
## Development
```bash
deno task dev
```
Brings up the backend (`:3000`) and Vite (`:5173`). **Open the interface at the Vite
address.** While `VITE_DEV_URL` is non-empty, port 3000 serves only `/api`; the views come
from Vite as source modules. Opening `:3000` in this mode gives a page where no tab opens.
## Production
```bash
deno task build:front
```
Then **remove `VITE_DEV_URL` from `.env`** — otherwise the server keeps looking for views in
a Vite that is not running: the page loads and no tab ever opens. Run:
```bash
deno run --allow-net --allow-read --allow-env --env-file ./app/server.ts
```
The server now serves `dist/` itself.
**A production build is not the same code path as dev.** In dev the views arrive from Vite
as source modules; in production they are built chunks loaded by dynamic import, and the
shell creates each form from the chunk's exported `tagName`. Bugs that only exist in the
built output are invisible until then, so run the built app at least once before shipping.
## Publishing the schema
`sql:publish` refuses to run against anything but a local database, and against an
environment marked `production`/`prod`/`staging`. That guard is not about publishing — it
protects against the tools that **write test data** into whatever `.env` points at. It has
no bypass on purpose.
For a remote database there is a separate entry point:
```bashFrom 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
lit
IgorAIvanov
Rules and patterns for writing Lit Web Components correctly in this project.
SkillBFreshness: B★ 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
altera-new-app
IgorAIvanov
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.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
framework-ui-internals
IgorAIvanov
Внутрішні правила client/ui-kit — чому тема перебиває daisyUI, як не зламати граф чанків, пастки Lit і TypeScript у базових класах, де проходить межа між…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
model-report-form
IgorAIvanov
Build a report screen (turnover sheet, account card, register listing) by extending the shared ReportBase class, which already provides the sticky toolbar…
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 5, 2026 (2 months 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
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.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.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
altera-new-app
IgorAIvanov
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.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
framework-ui-internals
IgorAIvanov
Внутрішні правила client/ui-kit — чому тема перебиває daisyUI, як не зламати граф чанків, пастки Lit і TypeScript у базових класах, де проходить межа між…
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 app-run-and-deploy 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
app-run-and-deploy skill. Agent Mart. https://agentmart.dev/skills/igoraivanov-app-run-and-deploy (last updated 2026-10-24)