diff --git a/AGENTS.md b/AGENTS.md index b88f700..256e8ad 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,8 @@ Ansible-driven personal infrastructure repo for Void desktops, Linux workstation - Main orchestration: `ansible/site.yml` - Inventory and layering inputs: `ansible/inventory/hosts.yml`, `ansible/inventory/group_vars/*.yml`, `ansible/inventory/host_vars/*.yml` - Dotfiles live under `dotfiles/` -- OpenCode loads global instructions from `dotfiles/desktop/.config/opencode/opencode.json` +- AI agent instructions (bootstrap, rules, knowledge) are centralized in `dotfiles/common/.config/ai/` and shared between Opencode, Codex, and Gemini CLI. +- OpenCode loads its entrypoint configuration from `dotfiles/common/.config/opencode/opencode.json`. ## Topology - Void desktops: `ikaros`, `nymph` diff --git a/ansible/roles/dotfiles_common/tasks/main.yml b/ansible/roles/dotfiles_common/tasks/main.yml index d8e90a8..9e18a72 100644 --- a/ansible/roles/dotfiles_common/tasks/main.yml +++ b/ansible/roles/dotfiles_common/tasks/main.yml @@ -33,7 +33,7 @@ owner: "{{ effective_username }}" group: "{{ effective_user_group }}" mode: "{{ item.mode }}" - loop: "{{ common_dotfiles | default([]) }}" + loop: "{{ (common_dotfiles | default([])) + (ai_agents_dotfiles | default([])) }}" loop_control: label: "{{ item.dest }}" diff --git a/dotfiles/desktop/.config/opencode/AGENTS.md b/dotfiles/common/.config/ai/AGENTS.md similarity index 100% rename from dotfiles/desktop/.config/opencode/AGENTS.md rename to dotfiles/common/.config/ai/AGENTS.md diff --git a/dotfiles/desktop/.config/opencode/bootstrap.md b/dotfiles/common/.config/ai/bootstrap.md similarity index 100% rename from dotfiles/desktop/.config/opencode/bootstrap.md rename to dotfiles/common/.config/ai/bootstrap.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/architecture.md b/dotfiles/common/.config/ai/knowledge/architecture.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/architecture.md rename to dotfiles/common/.config/ai/knowledge/architecture.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/cli.md b/dotfiles/common/.config/ai/knowledge/cli.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/cli.md rename to dotfiles/common/.config/ai/knowledge/cli.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/desktop.md b/dotfiles/common/.config/ai/knowledge/desktop.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/desktop.md rename to dotfiles/common/.config/ai/knowledge/desktop.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/dotfiles.md b/dotfiles/common/.config/ai/knowledge/dotfiles.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/dotfiles.md rename to dotfiles/common/.config/ai/knowledge/dotfiles.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/emacs.md b/dotfiles/common/.config/ai/knowledge/emacs.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/emacs.md rename to dotfiles/common/.config/ai/knowledge/emacs.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/infra.md b/dotfiles/common/.config/ai/knowledge/infra.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/infra.md rename to dotfiles/common/.config/ai/knowledge/infra.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/kernel.md b/dotfiles/common/.config/ai/knowledge/kernel.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/kernel.md rename to dotfiles/common/.config/ai/knowledge/kernel.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/os_setup.md b/dotfiles/common/.config/ai/knowledge/os_setup.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/os_setup.md rename to dotfiles/common/.config/ai/knowledge/os_setup.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/philosophy.md b/dotfiles/common/.config/ai/knowledge/philosophy.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/philosophy.md rename to dotfiles/common/.config/ai/knowledge/philosophy.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/server.md b/dotfiles/common/.config/ai/knowledge/server.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/server.md rename to dotfiles/common/.config/ai/knowledge/server.md diff --git a/dotfiles/desktop/.config/opencode/knowledge/system_programming.md b/dotfiles/common/.config/ai/knowledge/system_programming.md similarity index 100% rename from dotfiles/desktop/.config/opencode/knowledge/system_programming.md rename to dotfiles/common/.config/ai/knowledge/system_programming.md diff --git a/dotfiles/desktop/.config/opencode/patterns/ansible_role.md b/dotfiles/common/.config/ai/patterns/ansible_role.md similarity index 100% rename from dotfiles/desktop/.config/opencode/patterns/ansible_role.md rename to dotfiles/common/.config/ai/patterns/ansible_role.md diff --git a/dotfiles/desktop/.config/opencode/patterns/dotfiles_layering.md b/dotfiles/common/.config/ai/patterns/dotfiles_layering.md similarity index 100% rename from dotfiles/desktop/.config/opencode/patterns/dotfiles_layering.md rename to dotfiles/common/.config/ai/patterns/dotfiles_layering.md diff --git a/dotfiles/desktop/.config/opencode/patterns/project_structure.md b/dotfiles/common/.config/ai/patterns/project_structure.md similarity index 100% rename from dotfiles/desktop/.config/opencode/patterns/project_structure.md rename to dotfiles/common/.config/ai/patterns/project_structure.md diff --git a/dotfiles/desktop/.config/opencode/patterns/service_setup.md b/dotfiles/common/.config/ai/patterns/service_setup.md similarity index 100% rename from dotfiles/desktop/.config/opencode/patterns/service_setup.md rename to dotfiles/common/.config/ai/patterns/service_setup.md diff --git a/dotfiles/desktop/.config/opencode/rules/ansible.md b/dotfiles/common/.config/ai/rules/ansible.md similarity index 100% rename from dotfiles/desktop/.config/opencode/rules/ansible.md rename to dotfiles/common/.config/ai/rules/ansible.md diff --git a/dotfiles/desktop/.config/opencode/rules/dotfiles.md b/dotfiles/common/.config/ai/rules/dotfiles.md similarity index 100% rename from dotfiles/desktop/.config/opencode/rules/dotfiles.md rename to dotfiles/common/.config/ai/rules/dotfiles.md diff --git a/dotfiles/desktop/.config/opencode/rules/safety.md b/dotfiles/common/.config/ai/rules/safety.md similarity index 100% rename from dotfiles/desktop/.config/opencode/rules/safety.md rename to dotfiles/common/.config/ai/rules/safety.md diff --git a/dotfiles/desktop/.config/opencode/rules/workflow.md b/dotfiles/common/.config/ai/rules/workflow.md similarity index 100% rename from dotfiles/desktop/.config/opencode/rules/workflow.md rename to dotfiles/common/.config/ai/rules/workflow.md diff --git a/dotfiles/common/.config/opencode/opencode.json b/dotfiles/common/.config/opencode/opencode.json new file mode 100644 index 0000000..45d58ea --- /dev/null +++ b/dotfiles/common/.config/opencode/opencode.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://opencode.ai/config.json", + "instructions": [ + "~/.config/ai/bootstrap.md", + "~/.config/ai/rules/safety.md" + ] +} diff --git a/dotfiles/desktop/.config/opencode/opencode.json b/dotfiles/desktop/.config/opencode/opencode.json deleted file mode 100644 index 38c088f..0000000 --- a/dotfiles/desktop/.config/opencode/opencode.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://opencode.ai/config.json", - "instructions": [ - "~/.config/opencode/bootstrap.md", - "~/.config/opencode/rules/safety.md" - ] -}