Skip to content

Gnoppix AI Coding Agent - User Documentation

With Gnoppix AI Coding Agent you can use any LLM provider by configuring their API keys.

If you are new to using LLM providers, we recommend using Gnoppix local AI. It’s a curated list of models that have been tested and verified by the Gnoppix team.

Gnoppix includes opencode open-source graphical user interface (GUI) that can be launched directly from the Gnoppix menu. If you prefer the Command Line Interface (CLI), it is recommended to install Gnoppix and run it via the terminal

sudo apt install gnoppix-opencode-cli

This section covers the Gnoppix CLI application.

  1. Run the /connect command in the TUI, select Gnoppix, and head to the authentication page.

    /connect
  2. Sign in, add your billing details, and copy your API key.

  3. Paste your API key when prompted.

    ┌ API key
    └ enter

Alternatively, you can select Gnoppix API Services or one of the other supported providers. The agent supports 75+ LLM backends, including:

  • Google Gemini
  • OpenAI
  • Anthropic Claude
  • Local models via Ollama
  • And many more

Now that you’ve configured a provider, you can navigate to a project that you want to work on.

Terminal window
cd /path/to/project

And run the AI Coding Agent.

Terminal window
opencode

Next, initialize the agent for the project by running the following command.

/init

This will get the agent to analyze your project and create an AGENTS.md file in the project root.

Tip: You should commit your project’s AGENTS.md file to Git.

This helps the agent understand the project structure and the coding patterns used.


You are now ready to use the AI Coding Agent to work on your project. Feel free to ask it anything!

If you are new to using an AI coding agent, here are some examples that might help.

You can ask the agent to explain the codebase to you.

Tip: Use the @ key to fuzzy search for files in the project.

How is authentication handled in @packages/functions/src/api/index.ts

This is helpful if there’s a part of the codebase that you didn’t work on.

You can ask the agent to add new features to your project. Though we first recommend asking it to create a plan.

  1. Create a Plan

    The agent has a Plan mode that disables its ability to make changes and instead suggest how it’ll implement the feature.

    Switch to it using the Tab key. You’ll see an indicator for this in the lower right corner.

    <TAB>

    Now let’s describe what we want it to do.

    When a user deletes a note, we'd like to flag it as deleted in the database.
    Then create a screen that shows all the recently deleted notes.
    From this screen, the user can undelete a note or permanently delete it.

    You want to give the agent enough details to understand what you want. It helps to talk to it like you are talking to a junior developer on your team.

    Tip: Give the agent plenty of context and examples to help it understand what you want.

  2. Iterate on the Plan

    Once it gives you a plan, you can give it feedback or add more details.

    We'd like to design this new screen using a design I've used before. [Image #1]
    Take a look at this image and use it as a reference.

    Tip: Drag and drop images into the terminal to add them to the prompt.

    The agent can scan any images you give it and add them to the prompt. You can do this by dragging and dropping an image into the terminal.

  3. Build the Feature

    Once you feel comfortable with the plan, switch back to Build mode by hitting the Tab key again.

    <TAB>

    And ask it to make the changes.

    Sounds good! Go ahead and make the changes.

For more straightforward changes, you can ask the agent to directly build it without having to review the plan first.

We need to add authentication to the /settings route. Take a look at how this is
handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts

You want to make sure you provide a good amount of detail so the agent makes the right changes.

Let’s say you ask the agent to make some changes.

Can you refactor the function in @packages/functions/src/api/index.ts?

But you realize that it is not what you wanted. You can undo the changes using the /undo command.

/undo

The agent will now revert the changes you made and show your original message again.

Can you refactor the function in @packages/functions/src/api/index.ts?

From here you can tweak the prompt and ask the agent to try again.

Tip: You can run /undo multiple times to undo multiple changes.

Or you can redo the changes using the /redo command.

/redo