-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopencode.json
More file actions
176 lines (162 loc) · 5.23 KB
/
opencode.json
File metadata and controls
176 lines (162 loc) · 5.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["AGENTS.md", "CLAUDE.md", "SECURITY.md"],
"command": {
"security-check": {
"description": "Run mandatory security gates",
"template": "Run ./scripts/security-check.sh, summarise any failures by tool, and propose the smallest safe fixes first."
},
"monitor-fly": {
"description": "Collect and summarise Fly logs",
"template": "Run ./scripts/logs.sh with suitable arguments from $ARGUMENTS if provided (use the `search` or `analyse` subcommand for grep / probe-driven analysis of an existing run). Summarise critical patterns, error spikes, and likely causes."
},
"load-test": {
"description": "Run scripted load test safely",
"template": "Run ./scripts/generate-test-jobs.sh using $ARGUMENTS when provided. Confirm prerequisites first, avoid exposing tokens, and summarise outcomes and risk signals."
},
"pr-status": {
"description": "Fetch CodeRabbit comments and CI check status for a PR",
"template": "Run bash scripts/pr-status-check.sh $ARGUMENTS. Summarise findings by severity, note any failing or pending CI checks, and propose fixes for actionable comments."
},
"pr-reply": {
"description": "Reply to and resolve PR review comment threads",
"template": "Run bash scripts/pr-comment-reply.sh $ARGUMENTS. Use --list to show open threads, --reply INDEX \"message\" to respond, --resolve INDEX to resolve, or combine with --reply INDEX \"message\" --resolve. Do not use raw gh api GraphQL mutations."
}
},
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true,
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
},
"figma": {
"type": "remote",
"url": "http://127.0.0.1:3845/mcp",
"enabled": true
},
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"enabled": true,
"oauth": {}
}
},
"permission": {
"bash": {
"*": "ask",
"ls": "allow",
"ls *": "allow",
"wc *": "allow",
"pwd": "allow",
"which *": "allow",
"echo *": "allow",
"cat *": "allow",
"grep *": "allow",
"head *": "allow",
"tail *": "allow",
"sed *": "allow",
"git status": "allow",
"git status *": "allow",
"git log *": "allow",
"git diff *": "allow",
"git branch": "allow",
"git branch *": "allow",
"git fetch *": "allow",
"git add *": "allow",
"git commit *": "allow",
"git pull *": "allow",
"git checkout *": "allow",
"git push *": "ask",
"git merge *": "ask",
"git rebase *": "ask",
"git reset *": "ask",
"gh auth *": "allow",
"gh status": "allow",
"gh api repos/good-native/*/pulls/*/comments *": "allow",
"gh api repos/good-native/*/issues/*/comments *": "allow",
"gh api repos/good-native/*/pulls *": "allow",
"gh repo view *": "allow",
"gh pr list *": "allow",
"gh pr view *": "allow",
"gh pr status *": "allow",
"gh pr create *": "ask",
"gh pr merge *": "ask",
"gh pr checks *": "allow",
"gh pr comment *": "allow",
"gh run view *": "allow",
"gh run list *": "allow",
"gh run rerun --failed *": "allow",
"gh issue list *": "allow",
"gh issue view *": "allow",
"npm run *": "allow",
"npm test": "allow",
"npm test *": "allow",
"npm list *": "allow",
"npm outdated": "allow",
"npm audit": "allow",
"npm audit *": "allow",
"npm install": "ask",
"npm install *": "ask",
"npm uninstall *": "ask",
"npm publish *": "ask",
"node *": "allow",
"go test *": "allow",
"go build *": "allow",
"go run *": "allow",
"go vet *": "allow",
"go fmt *": "allow",
"go mod tidy": "allow",
"go mod tidy *": "allow",
"go mod edit *": "allow",
"go list *": "allow",
"go tool cover *": "allow",
"go version": "allow",
"gofmt *": "allow",
"goimports *": "allow",
"golangci-lint run *": "allow",
"air": "allow",
"npx prettier *": "allow",
"npx eslint *": "allow",
"bash scripts/*.sh": "allow",
"bash scripts/*.sh *": "allow",
"git show *": "allow",
"git tag *": "allow",
"git stash *": "allow",
"git worktree *": "allow",
"supabase start": "allow",
"supabase stop": "allow",
"supabase status *": "allow",
"docker build *": "allow",
"docker ps *": "allow",
"docker logs *": "allow",
"fly logs *": "allow",
"fly status *": "allow",
"fly domains *": "allow",
"fly apps list *": "allow",
"flyctl logs *": "allow",
"flyctl status *": "allow",
"./dev.sh": "allow",
"./scripts/test-db.sh *": "allow",
"rm *": "ask",
"rm -rf *": "ask"
},
"edit": "allow",
"read": {
"*": "allow",
"*.env": "deny",
"*.env.*": "deny",
"*.env.example": "allow"
},
"external_directory": "ask",
"doom_loop": "ask"
},
"plugin": [
"opencode-shell-strategy",
"opencode-dynamic-context-pruning",
"opencode-pty",
"opencode-worktree"
]
}