Skip to main content

Web IDE

The Web IDE is a full code editor, modelled on VS Code, that opens in your browser on a branch of the project. It lets you edit code without installing anything, commit (which runs the branch's pipeline), open a terminal on the environment, get help from Karizma Agent and resolve the conflicts of a merge request.

Access

Web IDE button on the project page. Two conditions apply:

  • your role must allow the Web IDE: every role can open it, but only Super Admin, Admin and Developer can commit;
  • the branch type (production, staging, migration, development) must be part of your Web IDE Access. To change it, contact your Karizma representative. A Super Admin always has access to every branch.
The Web IDE open on a staging branch
The Web IDE open on a staging branch

Open the Web IDE​

  1. On the project page, select the branch.
  2. Click Web IDE in the action bar. The Web IDE opens in a new browser tab.

The title bar shows the project and the branch. If you do not have access to the branch, an Access Denied screen appears with the Go to my projects and Close IDE buttons. If your session has expired, the Sign in required screen lets you sign in again.

On first opening, the welcome page introduces the main features and some best practices (Web IDE Best Practices), such as keeping Odoo modules at the root of the repository.

Edit and commit code​

The Web IDE does not behave quite like an editor installed on your computer: saving sends nothing to GitLab.

  1. Edit your files in the editor.
  2. Save (Ctrl+S): the change is staged in the Web IDE, in your browser. Nothing is sent yet.
  3. Open the Source Control view. The Changes group lists added, modified, deleted or renamed files. Open Changes shows a file's differences.
  4. Type a commit message, then click Commit.

All staged changes go to the branch as a single commit. That commit runs the branch's pipeline: on a staging or on production, the code is built and then deployed. See Deployments and pipelines. Every commit is recorded in the audit log (IDE Commit).

Commit before closing the tab

Until you commit, your changes only live in the browser tab. Commit before closing or reloading the page.

In Source Control you can also:

  • discard the changes of one file (Discard Changes) or of all files (Discard All Changes); this cannot be undone;
  • have the AI write the commit message with Generate Commit Message with Karizma Agent.
note

The total size of staged changes is limited to 50 MB.

Switch branches​

The branch item in the status bar, at the bottom of the screen, opens two commands:

  • Switch Branch… opens another branch of the project. If you have uncommitted changes, the Web IDE asks you to drop them (Discard and switch).
  • Create New Branch… creates a branch and then opens the Web IDE on it.

The Branch Compare view compares two branches: pick From (base) and To (target), then run the comparison.

Use the terminal​

The Terminal panel opens a console on the branch's server, like the SHELL tab, with the same permissions. It is only available on production and stagings: a development or migration branch has no server.

Get help from Karizma Agent​

Karizma Agent is the Web IDE's AI assistant. Open its chat from the status bar (Toggle the Karizma Agent chat).

ModeHow it works
AgentThe assistant reads and browses the branch's files on its own, including your uncommitted changes, then proposes edits. On by default.
AskThe assistant answers your questions, without browsing the project's files on its own.

Switch modes with the toggle in the status bar, or for a single message by starting it with /agent or /ask.

Proposed edits appear in the files concerned (Created, Edited). Accept them all with Keep all. They are staged, not committed: review them, then commit.

From the editor, other commands rely on the assistant: Explain Selection, Refactor / Debug Selection, Modify Selection with an Instruction…, Insert Code at Cursor… and New Odoo Module via AI…, which generates a module from a description.

Requirements
  • Karizma Agent is not available on the production branch. Work on a staging or a development branch.
  • You must be allowed to commit on the branch (Super Admin, Admin or Developer).
  • The project needs an active Karizma AI key. Otherwise the chat shows This project has no active Karizma AI key: contact your Karizma representative.

The model picker offers KZM AI (default model) and the models made available by the project key (Project key) or by your organization (Offered by organization). Usage is charged to the key's budget.

The project's AI settings (key, budget, instructions, turning Agent mode on or off) are handled by the Karizma team: contact your Karizma representative. If Agent mode is turned off for the project, every message is handled in Ask mode.

Resolve merge request conflicts​

When a merge request conflicts with its target branch, you can resolve the conflict in the Web IDE.

  1. On the merge request page, click Resolve in Web IDE. The Web IDE opens on the source branch and shows the Merge Conflicts view, which lists the conflicting files.
  2. Open a file. Above each conflicting region, choose:
    • Accept Current to keep the source branch version;
    • Accept Incoming to keep the target branch version;
    • Accept Both to keep both.
  3. For a whole file, use Take the Left Side (source branch) or Take the Right Side (target branch). Side by side shows both versions next to each other.
  4. Once every file is resolved, click Resolve and commit.

The resolution is committed to the source branch as a merge commit: GitLab treats the conflict as resolved and the merge request can be merged. The Web IDE refuses the resolution while a file still contains conflict markers or a conflicting file has not been handled. This action is limited to Super Admin and Admin.

Customize the editor​

The Web IDE offers several themes (Karizma, Night Owl, GitHub Dark, GitHub Light, One Dark, Dracula, Monokai, Nord, Solarized Dark, Tomorrow Night, Cobalt2). Your settings and keyboard shortcuts are saved to your profile and follow you from one project to the next.

See also​