16 Commits

Author SHA1 Message Date
Thierry Delafontaine
b1b1c68033 opencode: add custom tools support
Adds support for custom tools - user-defined functions that the LLM can
call during conversations. Custom tools work alongside opencode's built-in
tools and are configured through the new `tools` option.

The configuration follows the same pattern as other opencode settings like
`agents` and `commands`, supporting:
- Inline TypeScript content
- Individual file paths
- Bulk directory imports
2026-01-08 16:32:29 -05:00
Thierry Delafontaine
081234b704 opencode: support directory-based configuration for commands, agents, and themes
The `commands`, `agents`, and `themes` options now accept either an
attribute set (existing behavior) or a path to a directory containing
multiple files. When a directory path is provided, it is symlinked to
the appropriate `$XDG_CONFIG_HOME/opencode/` subdirectory.

This change aligns with the existing `skills` option implementation and
provides a more convenient way to manage multiple configuration files
without needing to define each one individually in Nix.
2026-01-08 16:32:29 -05:00
Tim Kleinschmidt
1cfa305fba opencode: add agent skills support
Adds support for OpenCode Agent Skills by managing skill definitions
under "/opencode/skill/<name>/SKILL.md" via `programs.opencode.skills`.

Documentation: https://opencode.ai/docs/skills/
2026-01-03 11:47:20 +01:00
Tim Kleinschmidt
3e87b442b5 opencode: update docs
.config is already part of $XDG_CONFIG_HOME
2026-01-03 11:47:20 +01:00
Thierry Delafontaine
c740351870 opencode: add mcp module integration 2025-11-03 20:25:16 -06:00
Thierry Delafontaine
6ea30b26cd opencode: make the themes also accept path
- Removed unnecessary empty-themes test.
2025-10-19 09:47:26 -05:00
Thierry Delafontaine
fddb33a1a5 opencode: make the rules option also accept a path 2025-10-19 09:47:26 -05:00
Thierry Delafontaine
99977131d3 opencode: change tilde (~) to XDG_CONFIG_DIR for command and agent paths
Replace the use of `~` in the documentation for the command and agent
settings with the `XDG_CONFIG_DIR` environment variable to avoid
ambiguity about the config directory. Also switch to the
`{file}` path macro so paths render correctly in the docs and tooling.
2025-10-18 12:41:21 -05:00
Mirza Arnaut
fc837be107 opencode: add themes option
Add themes option to configure custom themes through nix.
Define a submodule for the settings option, to give the `theme` setting
a description.
2025-10-18 09:21:38 -05:00
Austin Horstman
c104ee92bf opencode: path support for agents/commands
Support paths for the commands/agents since we are linking files.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-17 07:23:42 -05:00
Austin Horstman
d7686f26e8 opencode: add support for agent and command files
Opencode can support loading agents/commands from files in the config
folder. This allows re-using the same agents/commands between different
coding assistants easier than trying to fit their structured json
configuration.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-17 07:23:42 -05:00
Robert Helgesson
63dd0e9409 opencode: minor cleanup of option description 2025-07-27 07:02:11 +02:00
Thierry Delafontaine
64796151f7 opencode: add JSON schema reference to config.json output
- Automatically include "$schema": "https://opencode.ai/config.json" in the generated
  opencode config.json file
- Update documentation to mention the added schema property
- Add corresponding "$schema" entry in test config.json file for validation purposes

Closes #7506
2025-07-24 11:05:45 -05:00
Thierry Delafontaine
08edcbe9df opencode: add support for global custom instructions via rules option
- Introduce `rules` option to provide global custom instructions for opencode
- Write `rules` content to `~/.config/opencode/AGENTS.md` if non-empty
- Update tests to cover presence and absence of `AGENTS.md` file with rules content
2025-07-24 11:05:45 -05:00
Austin Horstman
7c78e592a8 maintainers: remove duplicate nixpkgs maintainers
We don't need to maintain them in here, removing them to fix CI check

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-17 15:15:39 -05:00
Thierry Delafontaine
5a49fe448e opencode: init (#7320) 2025-07-05 16:02:49 -05:00