denisse
v0.0.1
Published
Denisse CLI — local development environment for Pascal projects, powered by Atlas Runtime.
Downloads
151
Maintainers
Readme
denisse
Denisse is a local development environment for Pascal projects that compile to TypeScript and run in the browser with Vite.
The CLI is the public product. Compilation, binding, and code generation are handled by the Atlas Engine (Atlas Runtime).
Experimental — Early development. Commands, config, and APIs may change.
Requirements
- Node.js 18+ (20+ recommended)
- npm
Install
npm install -g denisseOr use without a global install:
npx denisse --versionQuick start
Create a new web project, install dependencies, and start the dev server:
denisse init my-app --template minimal
cd my-app
npm install
denisse runOpen the URL shown in the terminal (typically http://localhost:5173). Edit src/Main.pas — the page updates after rebuild.
Minimal config only
To add Denisse to an existing folder without scaffolding:
cd my-project
denisse initThis creates denisse.config.json. Add Pascal sources under src/ and run denisse build.
Commands
| Command | Description |
|---------|-------------|
| denisse init [name] | Create denisse.config.json or scaffold a full project |
| denisse run / denisse dev | Build and start the target dev server |
| denisse build | Compile Pascal → src/generated/ |
| denisse compile <file.pas> | Compile a single .pas file to TypeScript |
| denisse doctor | Check Node, npm, and project setup |
| denisse --version | Show CLI version |
| denisse --help | Show usage |
Init options
denisse init my-app --template minimal # welcome page + Main.pas (default)
denisse init my-app --template app # multi-unit (Main + App)
denisse init my-app -d ./projects/my-app # custom directoryProject layout
A scaffolded web project looks like this:
my-app/
denisse.config.json # project contract
package.json
index.html
src/
Main.pas # your Pascal code
main.ts # Vite entry (imports generated code)
generated/ # output only — do not editDenisse never modifies your Pascal sources. Generated TypeScript is written only to outDir (default src/generated/).
Configuration
denisse.config.json is the project contract:
{
"runtime": "atlas",
"version": "0.0.1",
"name": "my-app",
"target": "web",
"profile": "web",
"sourceDir": "src",
"outDir": "src/generated",
"entry": "Main.pas"
}| Field | Default | Description |
|-------|---------|-------------|
| runtime | atlas | Engine runtime |
| name | — | Project name (required for builds) |
| target | web | Output target |
| profile | web | Language profile |
| sourceDir | src | Pascal source directory |
| outDir | src/generated | Generated TypeScript output |
| entry | Main.pas | Main unit |
Legacy atlas.json is still read for backward compatibility.
Typical package.json scripts
{
"scripts": {
"postinstall": "denisse build",
"dev": "denisse build && vite",
"preview": "vite preview"
},
"devDependencies": {
"denisse": "^0.0.1",
"vite": "^6.3.5",
"typescript": "^5.8.3"
}
}postinstall generates src/generated/ on npm install. dev rebuilds Pascal before starting Vite.
Product vs engine
| Layer | Name |
|-------|------|
| CLI, npm, developer experience | Denisse |
| Compiler, binder, IR, codegen | Atlas (@denisse-dev/compiler, Atlas Runtime) |
Denisse CLI → Atlas Runtime → Atlas Engine → generated TypeScript → ViteTroubleshooting
| Problem | Fix |
|---------|-----|
| denisse not found | Use npx denisse or npm install -g denisse |
| Blank page in browser | Run npm install or denisse build to generate src/generated/ |
| Failed to resolve ./generated/Main.js | Run denisse build in the project directory |
| .pas changes not visible | Restart npm run dev or save to trigger rebuild |
Run denisse doctor for a quick environment check.
Links
License
MIT
