Start here

Start a new project

Set up a project with appling init so your coding agent designs, builds and changes the application through its Appling model.

appling init sets up a project for Appling and connects the coding agents you work with: Claude Code, Codex, OpenCode, Gemini CLI or Antigravity CLI. Afterwards the agent has the Appling MCP server, the appling skill and a short set of rules that send every request through the model first.

Run it

In an empty folder, or in a new folder you name:

npx @appling/cli init todo

It asks for three things:

QuestionBecomes
Project nameThe name in package.json, the starter module and the generate target folder. Lower case letters, digits, - and _, starting with a letter
Coding agentsThe agents to connect, one or several
StackThe code generation target: Django, Ash, Go or Rust, or decide later

To run it without questions, pass all three as flags:

npx @appling/cli init todo --name todo --agents claude,codex --stack django

What it writes

FileContent
package.jsonCreated with the project name when the folder has none
node_modules@appling/cli, @appling/ai and the stack’s extension, installed as development dependencies with the project’s package manager
appling.config.jsonA generate target for the stack, with the output folder build/<name>
models/<name>.applingAn empty module named after the project, when the folder has no .appling file yet

A - in the name becomes _ in the module and the output folder, so todo-app gets the module todo_app.

Then, per agent:

AgentMCP serverRulesSkills
Claude Code.mcp.json, approved in .claude/settings.jsonCLAUDE.md imports them.claude/skills/
Codex.codex/config.tomlAGENTS.md points to them.agents/skills/
OpenCodeopencode.jsoninstructions in opencode.json.agents/skills/
Gemini CLI.gemini/settings.jsonGEMINI.md imports them.agents/skills/
Antigravity CLI.agents/mcp_config.jsonAGENTS.md points to them.agents/skills/

The rules and the skills are not copied. The configuration points into node_modules/@appling/ai: the rules file is rules/appling.md, and every skill folder of the package is linked into the agent’s skills folder. When you update @appling/ai, every agent reads the new version.

Existing settings stay: init adds the appling server to a configuration that already has others, appends the rules line to an existing CLAUDE.md, AGENTS.md or GEMINI.md, and leaves links that already exist. Running it again changes nothing.

NOTE

Codex and Gemini CLI start project MCP servers only in trusted folders. Trust the folder when the agent asks, or with gemini trust for Gemini CLI. Claude Code asks once whether to use the servers of .mcp.json.

Work with the agent

Start the agent in the project folder and describe what you want, such as “I want to design a todo app”. The rules tell the agent how to treat it:

  • A design or a draft is an Appling model, not code. The agent asks you what the business decides, writes the model module by module, validates it and, in an agent session of Appling Desktop, shows it on the canvas with the visual tools.
  • Code comes from the model through code generation with the stack in appling.config.json, and the registry skill finishes what generation leaves open.
  • Every later request, a feature, a change or a bug, starts as a change of the model.
  • While only the model exists, the agent applies model changes directly, without asking.
  • Once the code exists, model and code change together in both directions: the agent carries a model change into the code with appling generate --migrate or --sync where generation covers it, changes the code by hand otherwise, and brings changes made in the code back into the model.

The appling skill holds the details: how to find out where the project stands, how to learn the language with language_reference, the layer order for a new model, generating and releasing, and how to carry a change through model and code. See AI tools.