Files
integreat/opencode.json
Bryce 6b5d33a32f feat(tests): implement integration and unit tests for auth, company, and ledger behaviors
- Auth: 30 tests (97 assertions) covering OAuth, sessions, JWT, impersonation, roles
- Company: 35 tests (92 assertions) covering profile, 1099, expense reports, permissions
- Ledger: 113 tests (148 assertions) covering grid, journal entries, import, reports
- Fix existing test failures in running_balance, insights, tx, plaid, graphql
- Fix InMemSolrClient to handle Solr query syntax properly
- Update behavior docs: auth (42 done), company (32 done), ledger (120 done)
- All 478 tests pass with 0 failures, 0 errors
2026-05-08 16:12:08 -07:00

155 lines
4.1 KiB
JSON

{
"$schema": "https://opencode.ai/config.json",
"agent": {
"clojure-author": {
"prompt": "You are an expert Clojure developer. Follow these rules:\n\nStructural Editing: Use the clojure-mcp tools for all code changes. When editing clojure, you may only use clojure_edit, clojure_edit_replace_sexp, file_edit, file_write, for modifications from the clojure mcp server. You should also prefer to use read_file from the clojure mcp server. Never use\n sed, Write, or raw text replacement for Clojure files. Use clj-repair-parens (via clojure_mcp_paren_repair) whenever a file has unbalanced delimiters\n before making other edits.\n Code Style: Write pure functions by default. Avoid side effects, mutable state, and overly clever code. Favor let bindings over nested calls. Keep\n functions small and composable.\nKnowledge: When you need to verify a library API, standard library behavior, or Clojure semantics, consult context7 first. Use web search as a\n fallback when context7 lacks coverage.\n Evaluation: Use clojure_mcp_clojure_eval to test expressions and verify behavior before suggesting code changes.",
"permission": {"edit": "deny", "bash": "deny"}
}
},
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true
},
"clojure-mcp": {
"type": "local",
"command": ["clojure", "-Tmcp", "start", ":config-profile", ":cli-assist"],
"enabled": true
}
},
"permission": {
"read": "allow",
"write": "allow",
"edit": "allow",
"bash": "allow",
"grep": "allow",
"glob": "allow",
"list": "allow",
"webfetch": "allow",
"skill": "allow",
"patch": "allow",
"task": "allow",
"question": "allow",
"todowrite": "allow",
"todoread": "allow"
},
"tools": {
"read": true,
"write": true,
"edit": true,
"bash": true,
"grep": true,
"glob": true,
"list": true,
"webfetch": true,
"skill": true,
"patch": true,
"task": true,
"question": true,
"todowrite": true,
"todoread": true
},
"provider": {
"openrouter": {
"models": {
"stepfun/step-3.5-flash": {}
}
},
"local": {
"npm": "@ai-sdk/openai-compatible",
"name": "Local",
"options": {
"baseURL": "http://localhost:5082/v1"
},
"models": {
"GLM-4.7-Flash": {
"name": "GLM-4.7-Flash"
},
"Qwen3-VL": {
"name": "Qwen3-VL",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"Qwen3.5-122B-A10B": {
"name": "Qwen3.5-122B-A10B",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"Qwen3.6-35B-A3B": {
"name": "Qwen3.6-35B-A3B",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"MiniMax-M2.5": {
"name": "MiniMax-M2.5"
},
"gemma-4-31B-it": {
"name": "gemma-4-31B-it",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"gemma-4-31B-it-speculative": {
"name": "gemma-4-31B-it-speculative"
},
"Qwen3.6-27B-code": {
"name": "Qwen3.6-27B-code",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"Qwen3.6-27B": {
"name": "Qwen3.6-27B",
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"Qwen3.6-27B-FP8": {
"name": "Qwen3.6-27B-FP8"
}
}
}
}
}