recoder-code 1.0.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.babelrc +4 -0
  2. package/.claude/commands/commit-push-pr.md +19 -0
  3. package/.claude/commands/dedupe.md +38 -0
  4. package/.devcontainer/Dockerfile +91 -0
  5. package/.devcontainer/devcontainer.json +57 -0
  6. package/.devcontainer/init-firewall.sh +137 -0
  7. package/.gitattributes +2 -0
  8. package/.github/ISSUE_TEMPLATE/bug_report.yml +188 -0
  9. package/.github/ISSUE_TEMPLATE/config.yml +17 -0
  10. package/.github/ISSUE_TEMPLATE/documentation.yml +117 -0
  11. package/.github/ISSUE_TEMPLATE/feature_request.yml +132 -0
  12. package/.github/ISSUE_TEMPLATE/model_behavior.yml +220 -0
  13. package/.github/workflows/auto-close-duplicates.yml +31 -0
  14. package/.github/workflows/backfill-duplicate-comments.yml +44 -0
  15. package/.github/workflows/claude-dedupe-issues.yml +80 -0
  16. package/.github/workflows/claude-issue-triage.yml +106 -0
  17. package/.github/workflows/claude.yml +37 -0
  18. package/.github/workflows/issue-opened-dispatch.yml +28 -0
  19. package/.github/workflows/lock-closed-issues.yml +92 -0
  20. package/.github/workflows/log-issue-events.yml +40 -0
  21. package/CHANGELOG.md +646 -0
  22. package/KILO.md +1273 -0
  23. package/LICENSE.md +21 -0
  24. package/README.md +176 -0
  25. package/SECURITY.md +12 -0
  26. package/Script/run_devcontainer_claude_code.ps1 +152 -0
  27. package/api/githubApi.ts +144 -0
  28. package/babel.config.js +7 -0
  29. package/cli/.gitkeep +0 -0
  30. package/cli/auto-close-duplicates.ts +5 -0
  31. package/cli/configure.js +33 -0
  32. package/cli/list-models.js +48 -0
  33. package/cli/run.js +61 -0
  34. package/cli/set-api-key.js +26 -0
  35. package/config.json +4 -0
  36. package/demo.gif +0 -0
  37. package/examples/gpt-3.5-turbo.js +38 -0
  38. package/examples/gpt-4.js +38 -0
  39. package/examples/hooks/bash_command_validator_example.py +83 -0
  40. package/index.d.ts +3 -0
  41. package/index.js +62 -0
  42. package/jest.config.js +6 -0
  43. package/openapi.yaml +61 -0
  44. package/package.json +47 -0
  45. package/scripts/backfill-duplicate-comments.ts +213 -0
  46. package/tests/api-githubApi.test.ts +30 -0
  47. package/tests/auto-close-duplicates.test.ts +145 -0
  48. package/tests/cli-configure.test.ts +88 -0
  49. package/tests/cli-list-models.test.ts +44 -0
  50. package/tests/cli-run.test.ts +97 -0
  51. package/tests/cli-set-api-key.test.ts +54 -0
  52. package/tests/cli-validate-api-key.test.ts +52 -0
  53. package/tsconfig.json +18 -0
package/.babelrc ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "presets": ["@babel/preset-env"],
3
+ "plugins": ["@babel/plugin-transform-modules-commonjs"]
4
+ }
@@ -0,0 +1,19 @@
1
+ ---
2
+ allowed-tools: Bash(git checkout --branch:*), Bash(git add:*), Bash(git status:*), Bash(git push:*), Bash(git commit:*), Bash(gh pr create:*)
3
+ description: Commit, push, and open a PR
4
+ ---
5
+
6
+ ## Context
7
+
8
+ - Current git status: !`git status`
9
+ - Current git diff (staged and unstaged changes): !`git diff HEAD`
10
+ - Current branch: !`git branch --show-current`
11
+
12
+ ## Your task
13
+
14
+ Based on the above changes:
15
+ 1. Create a new branch if on main
16
+ 2. Create a single commit with an appropriate message
17
+ 3. Push the branch to origin
18
+ 4. Create a pull request using `gh pr create`
19
+ 5. You have the capability to call multiple tools in a single response. You MUST do all of the above in a single message. Do not use any other tools or do anything else. Do not send any other text or messages besides these tool calls.
@@ -0,0 +1,38 @@
1
+ ---
2
+ allowed-tools: Bash(gh issue view:*), Bash(gh search:*), Bash(gh issue list:*), Bash(gh api:*), Bash(gh issue comment:*)
3
+ description: Find duplicate GitHub issues
4
+ ---
5
+
6
+ Find up to 3 likely duplicate issues for a given GitHub issue.
7
+
8
+ To do this, follow these steps precisely:
9
+
10
+ 1. Use an agent to check if the Github issue (a) is closed, (b) does not need to be deduped (eg. because it is broad product feedback without a specific solution, or positive feedback), or (c) already has a duplicates comment that you made earlier. If so, do not proceed.
11
+ 2. Use an agent to view a Github issue, and ask the agent to return a summary of the issue
12
+ 3. Then, launch 5 parallel agents to search Github for duplicates of this issue, using diverse keywords and search approaches, using the summary from #1
13
+ 4. Next, feed the results from #1 and #2 into another agent, so that it can filter out false positives, that are likely not actually duplicates of the original issue. If there are no duplicates remaining, do not proceed.
14
+ 5. Finally, comment back on the issue with a list of up to three duplicate issues (or zero, if there are no likely duplicates)
15
+
16
+ Notes (be sure to tell this to your agents, too):
17
+
18
+ - Use `gh` to interact with Github, rather than web fetch
19
+ - Do not use other tools, beyond `gh` (eg. don't use other MCP servers, file edit, etc.)
20
+ - Make a todo list first
21
+ - For your comment, follow the following format precisely (assuming for this example that you found 3 suspected duplicates):
22
+
23
+ ---
24
+
25
+ Found 3 possible duplicate issues:
26
+
27
+ 1. <link to issue>
28
+ 2. <link to issue>
29
+ 3. <link to issue>
30
+
31
+ This issue will be automatically closed as a duplicate in 3 days.
32
+
33
+ - If your issue is a duplicate, please close it and 👍 the existing issue instead
34
+ - To prevent auto-closure, add a comment or 👎 this comment
35
+
36
+ 🤖 Generated with [Recoder Code](https://claude.ai/code)
37
+
38
+ ---
@@ -0,0 +1,91 @@
1
+ FROM node:20
2
+
3
+ ARG TZ
4
+ ENV TZ="$TZ"
5
+
6
+ ARG CLAUDE_CODE_VERSION=latest
7
+
8
+ # Install basic development tools and iptables/ipset
9
+ RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ less \
11
+ git \
12
+ procps \
13
+ sudo \
14
+ fzf \
15
+ zsh \
16
+ man-db \
17
+ unzip \
18
+ gnupg2 \
19
+ gh \
20
+ iptables \
21
+ ipset \
22
+ iproute2 \
23
+ dnsutils \
24
+ aggregate \
25
+ jq \
26
+ nano \
27
+ vim \
28
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
29
+
30
+ # Ensure default node user has access to /usr/local/share
31
+ RUN mkdir -p /usr/local/share/npm-global && \
32
+ chown -R node:node /usr/local/share
33
+
34
+ ARG USERNAME=node
35
+
36
+ # Persist bash history.
37
+ RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
38
+ && mkdir /commandhistory \
39
+ && touch /commandhistory/.bash_history \
40
+ && chown -R $USERNAME /commandhistory
41
+
42
+ # Set `DEVCONTAINER` environment variable to help with orientation
43
+ ENV DEVCONTAINER=true
44
+
45
+ # Create workspace and config directories and set permissions
46
+ RUN mkdir -p /workspace /home/node/.claude && \
47
+ chown -R node:node /workspace /home/node/.claude
48
+
49
+ WORKDIR /workspace
50
+
51
+ ARG GIT_DELTA_VERSION=0.18.2
52
+ RUN ARCH=$(dpkg --print-architecture) && \
53
+ wget "https://github.com/dandavison/delta/releases/download/${GIT_DELTA_VERSION}/git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb" && \
54
+ sudo dpkg -i "git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb" && \
55
+ rm "git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb"
56
+
57
+ # Set up non-root user
58
+ USER node
59
+
60
+ # Install global packages
61
+ ENV NPM_CONFIG_PREFIX=/usr/local/share/npm-global
62
+ ENV PATH=$PATH:/usr/local/share/npm-global/bin
63
+
64
+ # Set the default shell to zsh rather than sh
65
+ ENV SHELL=/bin/zsh
66
+
67
+ # Set the default editor and visual
68
+ ENV EDITOR=nano
69
+ ENV VISUAL=nano
70
+
71
+ # Default powerline10k theme
72
+ ARG ZSH_IN_DOCKER_VERSION=1.2.0
73
+ RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v${ZSH_IN_DOCKER_VERSION}/zsh-in-docker.sh)" -- \
74
+ -p git \
75
+ -p fzf \
76
+ -a "source /usr/share/doc/fzf/examples/key-bindings.zsh" \
77
+ -a "source /usr/share/doc/fzf/examples/completion.zsh" \
78
+ -a "export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
79
+ -x
80
+
81
+ # Install Recoder
82
+ RUN npm install -g @anthropic-ai/claude-code@${CLAUDE_CODE_VERSION}
83
+
84
+
85
+ # Copy and set up firewall script
86
+ COPY init-firewall.sh /usr/local/bin/
87
+ USER root
88
+ RUN chmod +x /usr/local/bin/init-firewall.sh && \
89
+ echo "node ALL=(root) NOPASSWD: /usr/local/bin/init-firewall.sh" > /etc/sudoers.d/node-firewall && \
90
+ chmod 0440 /etc/sudoers.d/node-firewall
91
+ USER node
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "Recoder Code Sandbox",
3
+ "build": {
4
+ "dockerfile": "Dockerfile",
5
+ "args": {
6
+ "TZ": "${localEnv:TZ:America/Los_Angeles}",
7
+ "CLAUDE_CODE_VERSION": "latest",
8
+ "GIT_DELTA_VERSION": "0.18.2",
9
+ "ZSH_IN_DOCKER_VERSION": "1.2.0"
10
+ }
11
+ },
12
+ "runArgs": [
13
+ "--cap-add=NET_ADMIN",
14
+ "--cap-add=NET_RAW"
15
+ ],
16
+ "customizations": {
17
+ "vscode": {
18
+ "extensions": [
19
+ "anthropic.claude-code",
20
+ "dbaeumer.vscode-eslint",
21
+ "esbenp.prettier-vscode",
22
+ "eamodio.gitlens"
23
+ ],
24
+ "settings": {
25
+ "editor.formatOnSave": true,
26
+ "editor.defaultFormatter": "Anthropic.claude-code",
27
+ "editor.codeActionsOnSave": {
28
+ "source.fixAll.eslint": "explicit"
29
+ },
30
+ "terminal.integrated.defaultProfile.linux": "zsh",
31
+ "terminal.integrated.profiles.linux": {
32
+ "bash": {
33
+ "path": "bash",
34
+ "icon": "terminal-bash"
35
+ },
36
+ "zsh": {
37
+ "path": "zsh"
38
+ }
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "remoteUser": "node",
44
+ "mounts": [
45
+ "source=claude-code-bashhistory-${devcontainerId},target=/commandhistory,type=volume",
46
+ "source=claude-code-config-${devcontainerId},target=/home/node/.claude,type=volume"
47
+ ],
48
+ "containerEnv": {
49
+ "NODE_OPTIONS": "--max-old-space-size=4096",
50
+ "CLAUDE_CONFIG_DIR": "/home/node/.claude",
51
+ "POWERLEVEL9K_DISABLE_GITSTATUS": "true"
52
+ },
53
+ "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated",
54
+ "workspaceFolder": "/workspace",
55
+ "postStartCommand": "sudo /usr/local/bin/init-firewall.sh",
56
+ "waitFor": "postStartCommand"
57
+ }
@@ -0,0 +1,137 @@
1
+ #!/bin/bash
2
+ set -euo pipefail # Exit on error, undefined vars, and pipeline failures
3
+ IFS=$'\n\t' # Stricter word splitting
4
+
5
+ # 1. Extract Docker DNS info BEFORE any flushing
6
+ DOCKER_DNS_RULES=$(iptables-save -t nat | grep "127\.0\.0\.11" || true)
7
+
8
+ # Flush existing rules and delete existing ipsets
9
+ iptables -F
10
+ iptables -X
11
+ iptables -t nat -F
12
+ iptables -t nat -X
13
+ iptables -t mangle -F
14
+ iptables -t mangle -X
15
+ ipset destroy allowed-domains 2>/dev/null || true
16
+
17
+ # 2. Selectively restore ONLY internal Docker DNS resolution
18
+ if [ -n "$DOCKER_DNS_RULES" ]; then
19
+ echo "Restoring Docker DNS rules..."
20
+ iptables -t nat -N DOCKER_OUTPUT 2>/dev/null || true
21
+ iptables -t nat -N DOCKER_POSTROUTING 2>/dev/null || true
22
+ echo "$DOCKER_DNS_RULES" | xargs -L 1 iptables -t nat
23
+ else
24
+ echo "No Docker DNS rules to restore"
25
+ fi
26
+
27
+ # First allow DNS and localhost before any restrictions
28
+ # Allow outbound DNS
29
+ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
30
+ # Allow inbound DNS responses
31
+ iptables -A INPUT -p udp --sport 53 -j ACCEPT
32
+ # Allow outbound SSH
33
+ iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
34
+ # Allow inbound SSH responses
35
+ iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
36
+ # Allow localhost
37
+ iptables -A INPUT -i lo -j ACCEPT
38
+ iptables -A OUTPUT -o lo -j ACCEPT
39
+
40
+ # Create ipset with CIDR support
41
+ ipset create allowed-domains hash:net
42
+
43
+ # Fetch GitHub meta information and aggregate + add their IP ranges
44
+ echo "Fetching GitHub IP ranges..."
45
+ gh_ranges=$(curl -s https://api.github.com/meta)
46
+ if [ -z "$gh_ranges" ]; then
47
+ echo "ERROR: Failed to fetch GitHub IP ranges"
48
+ exit 1
49
+ fi
50
+
51
+ if ! echo "$gh_ranges" | jq -e '.web and .api and .git' >/dev/null; then
52
+ echo "ERROR: GitHub API response missing required fields"
53
+ exit 1
54
+ fi
55
+
56
+ echo "Processing GitHub IPs..."
57
+ while read -r cidr; do
58
+ if [[ ! "$cidr" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}$ ]]; then
59
+ echo "ERROR: Invalid CIDR range from GitHub meta: $cidr"
60
+ exit 1
61
+ fi
62
+ echo "Adding GitHub range $cidr"
63
+ ipset add allowed-domains "$cidr"
64
+ done < <(echo "$gh_ranges" | jq -r '(.web + .api + .git)[]' | aggregate -q)
65
+
66
+ # Resolve and add other allowed domains
67
+ for domain in \
68
+ "registry.npmjs.org" \
69
+ "api.anthropic.com" \
70
+ "sentry.io" \
71
+ "statsig.anthropic.com" \
72
+ "statsig.com" \
73
+ "marketplace.visualstudio.com" \
74
+ "vscode.blob.core.windows.net" \
75
+ "update.code.visualstudio.com"; do
76
+ echo "Resolving $domain..."
77
+ ips=$(dig +noall +answer A "$domain" | awk '$4 == "A" {print $5}')
78
+ if [ -z "$ips" ]; then
79
+ echo "ERROR: Failed to resolve $domain"
80
+ exit 1
81
+ fi
82
+
83
+ while read -r ip; do
84
+ if [[ ! "$ip" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
85
+ echo "ERROR: Invalid IP from DNS for $domain: $ip"
86
+ exit 1
87
+ fi
88
+ echo "Adding $ip for $domain"
89
+ ipset add allowed-domains "$ip"
90
+ done < <(echo "$ips")
91
+ done
92
+
93
+ # Get host IP from default route
94
+ HOST_IP=$(ip route | grep default | cut -d" " -f3)
95
+ if [ -z "$HOST_IP" ]; then
96
+ echo "ERROR: Failed to detect host IP"
97
+ exit 1
98
+ fi
99
+
100
+ HOST_NETWORK=$(echo "$HOST_IP" | sed "s/\.[0-9]*$/.0\/24/")
101
+ echo "Host network detected as: $HOST_NETWORK"
102
+
103
+ # Set up remaining iptables rules
104
+ iptables -A INPUT -s "$HOST_NETWORK" -j ACCEPT
105
+ iptables -A OUTPUT -d "$HOST_NETWORK" -j ACCEPT
106
+
107
+ # Set default policies to DROP first
108
+ iptables -P INPUT DROP
109
+ iptables -P FORWARD DROP
110
+ iptables -P OUTPUT DROP
111
+
112
+ # First allow established connections for already approved traffic
113
+ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
114
+ iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
115
+
116
+ # Then allow only specific outbound traffic to allowed domains
117
+ iptables -A OUTPUT -m set --match-set allowed-domains dst -j ACCEPT
118
+
119
+ # Explicitly REJECT all other outbound traffic for immediate feedback
120
+ iptables -A OUTPUT -j REJECT --reject-with icmp-admin-prohibited
121
+
122
+ echo "Firewall configuration complete"
123
+ echo "Verifying firewall rules..."
124
+ if curl --connect-timeout 5 https://example.com >/dev/null 2>&1; then
125
+ echo "ERROR: Firewall verification failed - was able to reach https://example.com"
126
+ exit 1
127
+ else
128
+ echo "Firewall verification passed - unable to reach https://example.com as expected"
129
+ fi
130
+
131
+ # Verify GitHub API access
132
+ if ! curl --connect-timeout 5 https://api.github.com/zen >/dev/null 2>&1; then
133
+ echo "ERROR: Firewall verification failed - unable to reach https://api.github.com"
134
+ exit 1
135
+ else
136
+ echo "Firewall verification passed - able to reach https://api.github.com as expected"
137
+ fi
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ * text=auto eol=lf
2
+ *.sh text eol=lf
@@ -0,0 +1,188 @@
1
+ name: 🐛 Bug Report
2
+ description: Report a bug or unexpected behavior in Recoder Code
3
+ title: "[BUG] "
4
+ labels:
5
+ - bug
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Thanks for taking the time to report this bug! Please fill out the sections below to help us understand and fix the issue.
11
+
12
+ Before submitting, please check:
13
+ - You're using the [latest version](https://www.npmjs.com/package/@anthropic-ai/claude-code?activeTab=versions) of Recoder Code (`claude --version`)
14
+ - This issue hasn't already been reported by searching [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug).
15
+ - This is a bug, not a feature request or support question
16
+
17
+ - type: checkboxes
18
+ id: preflight
19
+ attributes:
20
+ label: Preflight Checklist
21
+ description: Please confirm before submitting
22
+ options:
23
+ - label: I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
24
+ required: true
25
+ - label: This is a single bug report (please file separate reports for different bugs)
26
+ required: true
27
+ - label: I am using the latest version of Recoder Code
28
+ required: true
29
+
30
+ - type: textarea
31
+ id: actual
32
+ attributes:
33
+ label: What's Wrong?
34
+ description: Describe what's happening that shouldn't be
35
+ placeholder: |
36
+ When I try to create a Python file, Recoder shows an error "EACCES: permission denied" and the file isn't created.
37
+
38
+ The command fails immediately after accepting the file write permission...
39
+ validations:
40
+ required: true
41
+
42
+ - type: textarea
43
+ id: expected
44
+ attributes:
45
+ label: What Should Happen?
46
+ description: Describe the expected behavior
47
+ placeholder: Recoder should create a Python script file successfully without errors
48
+ validations:
49
+ required: true
50
+
51
+ - type: textarea
52
+ id: error_output
53
+ attributes:
54
+ label: Error Messages/Logs
55
+ description: If you see any error messages, paste them here
56
+ placeholder: |
57
+ Paste any error output, stack traces, or relevant logs here.
58
+ This will be automatically formatted as code.
59
+ render: shell
60
+ validations:
61
+ required: false
62
+
63
+ - type: textarea
64
+ id: reproduction
65
+ attributes:
66
+ label: Steps to Reproduce
67
+ description: |
68
+ Please provide clear, numbered steps that anyone can follow to reproduce the issue.
69
+ **Important**: Include any necessary code, file contents, or context needed to reproduce the bug.
70
+ If the issue involves specific files or code, please create a minimal example.
71
+ placeholder: |
72
+ 1. Create a file `test.py` with this content:
73
+ ```python
74
+ def hello():
75
+ print("test")
76
+ ```
77
+ 2. Run `claude "add type hints to test.py"`
78
+ 3. When prompted for file access, accept
79
+ 4. Error appears: "Unable to parse..."
80
+
81
+ Note: The bug only happens with Python files containing...
82
+ validations:
83
+ required: true
84
+
85
+ - type: dropdown
86
+ id: model
87
+ attributes:
88
+ label: Recoder Model
89
+ description: Which model were you using? (Run `/model` to check)
90
+ options:
91
+ - Sonnet (default)
92
+ - Opus
93
+ - Not sure / Multiple models
94
+ - Other
95
+ validations:
96
+ required: false
97
+
98
+ - type: dropdown
99
+ id: regression
100
+ attributes:
101
+ label: Is this a regression?
102
+ description: Did this work in a previous version?
103
+ options:
104
+ - "Yes, this worked in a previous version"
105
+ - "No, this never worked"
106
+ - "I don't know"
107
+ validations:
108
+ required: true
109
+
110
+ - type: input
111
+ id: working_version
112
+ attributes:
113
+ label: Last Working Version
114
+ description: If this is a regression, which version last worked? This helps expedite a fix.
115
+ placeholder: "e.g., 1.0.100"
116
+ validations:
117
+ required: false
118
+
119
+ - type: input
120
+ id: version
121
+ attributes:
122
+ label: Recoder Code Version
123
+ description: Run `claude --version` and paste the output
124
+ placeholder: "e.g., 1.0.123 (Recoder Code)"
125
+ validations:
126
+ required: true
127
+
128
+ - type: dropdown
129
+ id: platform
130
+ attributes:
131
+ label: Platform
132
+ description: Which API platform are you using?
133
+ options:
134
+ - Anthropic API
135
+ - AWS Bedrock
136
+ - Google Vertex AI
137
+ - Other
138
+ validations:
139
+ required: true
140
+
141
+ - type: dropdown
142
+ id: os
143
+ attributes:
144
+ label: Operating System
145
+ options:
146
+ - macOS
147
+ - Windows
148
+ - Ubuntu/Debian Linux
149
+ - Other Linux
150
+ - Other
151
+ validations:
152
+ required: true
153
+
154
+ - type: dropdown
155
+ id: terminal
156
+ attributes:
157
+ label: Terminal/Shell
158
+ description: Which terminal are you using?
159
+ options:
160
+ - Terminal.app (macOS)
161
+ - Warp
162
+ - Cursor
163
+ - iTerm2
164
+ - IntelliJ IDEA terminal
165
+ - VS Code integrated terminal
166
+ - PyCharm terminal
167
+ - Windows Terminal
168
+ - PowerShell
169
+ - WSL (Windows Subsystem for Linux)
170
+ - Xterm
171
+ - Non-interactive/CI environment
172
+ - Other
173
+ validations:
174
+ required: true
175
+
176
+ - type: textarea
177
+ id: additional
178
+ attributes:
179
+ label: Additional Information
180
+ description: |
181
+ Anything else that might help us understand the issue?
182
+ - Screenshots (drag and drop images here)
183
+ - Configuration files
184
+ - Related files or code
185
+ - Links to repositories demonstrating the issue
186
+ placeholder: Any additional context, screenshots, or information...
187
+ validations:
188
+ required: false
@@ -0,0 +1,17 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: 💬 Discord Community
4
+ url: https://anthropic.com/discord
5
+ about: Get help, ask questions, and chat with other Recoder Code users
6
+ - name: 📖 Documentation
7
+ url: https://docs.anthropic.com/en/docs/claude-code
8
+ about: Read the official documentation and guides
9
+ - name: 🎓 Getting Started Guide
10
+ url: https://docs.anthropic.com/en/docs/claude-code/getting-started
11
+ about: New to Recoder Code? Start here
12
+ - name: 🔧 Troubleshooting Guide
13
+ url: https://docs.anthropic.com/en/docs/claude-code/troubleshooting
14
+ about: Common issues and how to fix them
15
+ - name: 💡 Discussions
16
+ url: https://github.com/anthropics/claude-code/discussions
17
+ about: Share ideas, tips, and chat with maintainers
@@ -0,0 +1,117 @@
1
+ name: 📚 Documentation Issue
2
+ description: Report missing, unclear, or incorrect documentation
3
+ title: "[DOCS] "
4
+ labels:
5
+ - documentation
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ ## Help us improve our documentation!
11
+
12
+ Good documentation is crucial for a great developer experience. Please let us know what's missing or confusing.
13
+
14
+ - type: dropdown
15
+ id: doc_type
16
+ attributes:
17
+ label: Documentation Type
18
+ description: What kind of documentation issue is this?
19
+ options:
20
+ - Missing documentation (feature not documented)
21
+ - Unclear/confusing documentation
22
+ - Incorrect/outdated documentation
23
+ - Typo or formatting issue
24
+ - Missing code examples
25
+ - Broken links
26
+ - Other
27
+ validations:
28
+ required: true
29
+
30
+ - type: input
31
+ id: location
32
+ attributes:
33
+ label: Documentation Location
34
+ description: Where did you encounter this issue? Provide a URL if possible
35
+ placeholder: "e.g., https://docs.anthropic.com/en/docs/claude-code/getting-started"
36
+ validations:
37
+ required: false
38
+
39
+ - type: input
40
+ id: section
41
+ attributes:
42
+ label: Section/Topic
43
+ description: Which specific section or topic needs improvement?
44
+ placeholder: "e.g., MCP Server Configuration section"
45
+ validations:
46
+ required: true
47
+
48
+ - type: textarea
49
+ id: current
50
+ attributes:
51
+ label: Current Documentation
52
+ description: |
53
+ What does the documentation currently say?
54
+ Quote the specific text if applicable.
55
+ placeholder: |
56
+ The docs currently say:
57
+ "To configure MCP servers, add them to your configuration..."
58
+
59
+ But it doesn't explain...
60
+ validations:
61
+ required: false
62
+
63
+ - type: textarea
64
+ id: issue
65
+ attributes:
66
+ label: What's Wrong or Missing?
67
+ description: Explain what's incorrect, unclear, or missing
68
+ placeholder: |
69
+ The documentation doesn't explain how to:
70
+ - Configure multiple MCP servers
71
+ - Handle authentication
72
+ - Debug connection issues
73
+
74
+ The example code doesn't work because...
75
+ validations:
76
+ required: true
77
+
78
+ - type: textarea
79
+ id: suggested
80
+ attributes:
81
+ label: Suggested Improvement
82
+ description: How should the documentation be improved? Provide suggested text if possible
83
+ placeholder: |
84
+ The documentation should include:
85
+
86
+ 1. A complete example showing...
87
+ 2. Explanation of common errors like...
88
+ 3. Step-by-step guide for...
89
+
90
+ Suggested text:
91
+ "To configure multiple MCP servers, create an array in your settings..."
92
+ validations:
93
+ required: true
94
+
95
+ - type: dropdown
96
+ id: impact
97
+ attributes:
98
+ label: Impact
99
+ description: How much does this documentation issue affect users?
100
+ options:
101
+ - High - Prevents users from using a feature
102
+ - Medium - Makes feature difficult to understand
103
+ - Low - Minor confusion or inconvenience
104
+ validations:
105
+ required: true
106
+
107
+ - type: textarea
108
+ id: additional
109
+ attributes:
110
+ label: Additional Context
111
+ description: |
112
+ - Screenshots showing the issue
113
+ - Links to related documentation
114
+ - Examples from other projects that do this well
115
+ placeholder: Any additional information that would help...
116
+ validations:
117
+ required: false