mirror of
https://github.com/anthropics/claude-code.git
synced 2026-02-19 04:27:33 -08:00
Compare commits
14 Commits
boris/nvko
...
boris/fwbe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
611956def4 | ||
|
|
3d5ef4e8c0 | ||
|
|
5faa082d6e | ||
|
|
60124df21f | ||
|
|
1aaffa4e6d | ||
|
|
f5b24d5480 | ||
|
|
07e6bec5ff | ||
|
|
cf8c6fdf2d | ||
|
|
d720bf7aba | ||
|
|
dde41f6225 | ||
|
|
78e0785950 | ||
|
|
b3658880e5 | ||
|
|
9be8e07e92 | ||
|
|
8b2cbe3f86 |
19
.claude/commands/commit-push-pr.md
Normal file
19
.claude/commands/commit-push-pr.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
allowed-tools: Bash(git checkout --branch:*), Bash(git add:*), Bash(git status:*), Bash(git push:*), Bash(git commit:*), Bash(gh pr create:*)
|
||||
description: Commit, push, and open a PR
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
- Current git status: !`git status`
|
||||
- Current git diff (staged and unstaged changes): !`git diff HEAD`
|
||||
- Current branch: !`git branch --show-current`
|
||||
|
||||
## Your task
|
||||
|
||||
Based on the above changes:
|
||||
1. Create a new branch if on main
|
||||
2. Create a single commit with an appropriate message
|
||||
3. Push the branch to origin
|
||||
4. Create a pull request using `gh pr create`
|
||||
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.
|
||||
@@ -30,4 +30,8 @@ Found 3 possible duplicate issues:
|
||||
|
||||
If your issue is a duplicate, please close it and 👍 the existing issue instead.
|
||||
|
||||
## 🤖 Generated with [Claude Code](https://claude.ai/code)
|
||||
<sub>This issue will be automatically closed as a duplicate in 3 days if there are no additional comments. To prevent auto-closure, please 👎 this comment.</sub>
|
||||
|
||||
🤖 Generated with [Claude Code](https://claude.ai/code)
|
||||
|
||||
---
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
set -euo pipefail # Exit on error, undefined vars, and pipeline failures
|
||||
IFS=$'\n\t' # Stricter word splitting
|
||||
|
||||
# 1. Extract Docker DNS info BEFORE any flushing
|
||||
DOCKER_DNS_RULES=$(iptables-save -t nat | grep "127\.0\.0\.11" || true)
|
||||
|
||||
# Flush existing rules and delete existing ipsets
|
||||
iptables -F
|
||||
iptables -X
|
||||
@@ -11,6 +14,16 @@ iptables -t mangle -F
|
||||
iptables -t mangle -X
|
||||
ipset destroy allowed-domains 2>/dev/null || true
|
||||
|
||||
# 2. Selectively restore ONLY internal Docker DNS resolution
|
||||
if [ -n "$DOCKER_DNS_RULES" ]; then
|
||||
echo "Restoring Docker DNS rules..."
|
||||
iptables -t nat -N DOCKER_OUTPUT 2>/dev/null || true
|
||||
iptables -t nat -N DOCKER_POSTROUTING 2>/dev/null || true
|
||||
echo "$DOCKER_DNS_RULES" | xargs -L 1 iptables -t nat
|
||||
else
|
||||
echo "No Docker DNS rules to restore"
|
||||
fi
|
||||
|
||||
# First allow DNS and localhost before any restrictions
|
||||
# Allow outbound DNS
|
||||
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
|
||||
|
||||
78
.github/workflows/auto-close-duplicates.yml
vendored
Normal file
78
.github/workflows/auto-close-duplicates.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
name: Auto-close duplicate issues (DRY RUN)
|
||||
description: Dry run - logs issues that would be auto-closed as duplicates after 3 days if no response
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 9 * * *'
|
||||
|
||||
jobs:
|
||||
auto-close-duplicates:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
|
||||
steps:
|
||||
- name: Auto-close duplicate issues
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const threeDaysAgo = new Date();
|
||||
threeDaysAgo.setDate(threeDaysAgo.getDate() - 3);
|
||||
|
||||
// Get all open issues
|
||||
const { data: issues } = await github.rest.issues.listForRepo({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'open',
|
||||
per_page: 100
|
||||
});
|
||||
|
||||
for (const issue of issues) {
|
||||
// Get comments for this issue
|
||||
const { data: comments } = await github.rest.issues.listComments({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number
|
||||
});
|
||||
|
||||
// Find duplicate comments (look for "Found 1 possible duplicate" or "Found X possible duplicate")
|
||||
const dupeComments = comments.filter(comment =>
|
||||
comment.body.includes('Found') &&
|
||||
comment.body.includes('possible duplicate') &&
|
||||
comment.user.type === 'Bot'
|
||||
);
|
||||
|
||||
if (dupeComments.length === 0) continue;
|
||||
|
||||
// Get the most recent duplicate comment
|
||||
const lastDupeComment = dupeComments[dupeComments.length - 1];
|
||||
const dupeCommentDate = new Date(lastDupeComment.created_at);
|
||||
|
||||
// Check if the duplicate comment is 3+ days old
|
||||
if (dupeCommentDate > threeDaysAgo) continue;
|
||||
|
||||
// Check if there are any comments after the duplicate comment
|
||||
const commentsAfterDupe = comments.filter(comment =>
|
||||
new Date(comment.created_at) > dupeCommentDate
|
||||
);
|
||||
|
||||
if (commentsAfterDupe.length > 0) continue;
|
||||
|
||||
// Check if issue author reacted with thumbs down to the duplicate comment
|
||||
const { data: reactions } = await github.rest.reactions.listForIssueComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
comment_id: lastDupeComment.id
|
||||
});
|
||||
|
||||
const authorThumbsDown = reactions.some(reaction =>
|
||||
reaction.user.id === issue.user.id && reaction.content === '-1'
|
||||
);
|
||||
|
||||
if (authorThumbsDown) continue;
|
||||
|
||||
// DRY RUN: Log the issue that would be auto-closed
|
||||
const issueUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/issues/${issue.number}`;
|
||||
console.log(`[DRY RUN] Would auto-close issue #${issue.number} as duplicate: ${issueUrl}`);
|
||||
}
|
||||
2
.github/workflows/claude-dedupe-issues.yml
vendored
2
.github/workflows/claude-dedupe-issues.yml
vendored
@@ -5,7 +5,7 @@ on:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
triage-issue:
|
||||
claude-dedupe-issues:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
permissions:
|
||||
|
||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,5 +1,22 @@
|
||||
# Changelog
|
||||
|
||||
## 1.0.65
|
||||
|
||||
- IDE: Fixed connection stability issues and error handling for diagnostics
|
||||
- Windows: Fixed shell environment setup for users without .bashrc files
|
||||
|
||||
## 1.0.64
|
||||
|
||||
- Agents: Added model customization support - you can now specify which model an agent should use
|
||||
- Agents: Fixed unintended access to the recursive agent tool
|
||||
- Hooks: Added systemMessage field to hook JSON output for displaying warnings and context
|
||||
- SDK: Fixed user input tracking across multi-turn conversations
|
||||
- Added hidden files to file search and @-mention suggestions
|
||||
|
||||
## 1.0.63
|
||||
|
||||
- Windows: Fixed file search, @agent mentions, and custom slash commands functionality
|
||||
|
||||
## 1.0.62
|
||||
|
||||
- Added @-mention support with typeahead for custom agents. @<your-custom-agent> to invoke it
|
||||
|
||||
Reference in New Issue
Block a user