Skip to content

Commit c0ab3f9

Browse files
committed
chore: Claude
1 parent 300aa95 commit c0ab3f9

2 files changed

Lines changed: 117 additions & 0 deletions

File tree

.github/workflows/claude.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Claude Code
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
jobs:
14+
claude:
15+
if: |
16+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: write
23+
pull-requests: write
24+
issues: write
25+
id-token: write
26+
actions: read # Required for Claude to read CI results on PRs
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v5
30+
with:
31+
fetch-depth: 1
32+
33+
- name: Run Claude Code
34+
id: claude
35+
uses: anthropics/claude-code-action@v1
36+
with:
37+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
38+
39+
# Optional: Customize the trigger phrase (default: @claude)
40+
# trigger_phrase: "/claude"
41+
42+
# Optional: Trigger when specific user is assigned to an issue
43+
# assignee_trigger: "claude-bot"
44+
45+
# Optional: Configure Claude's behavior with CLI arguments
46+
# claude_args: |
47+
# --model claude-opus-4-1-20250805
48+
# --max-turns 10
49+
# --allowedTools "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)"
50+
# --system-prompt "Follow our coding standards. Ensure all new code has tests. Use TypeScript for new files."
51+
52+
# Optional: Advanced settings configuration
53+
# settings: |
54+
# {
55+
# "env": {
56+
# "NODE_ENV": "test"
57+
# }
58+
# }

CLAUDE.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# CLAUDE.md
2+
3+
## Code Style
4+
5+
- C++11 unless otherwise specified
6+
- Boost C++ Libraries naming conventions (snake_case)
7+
- 4-space indentation, no tabs
8+
- Braces on their own line for classes/functions
9+
10+
## Javadoc Documentation
11+
12+
Follow Boost C++ Libraries Javadoc style:
13+
14+
- Brief descriptions on first line after `/**`
15+
- Functions returning values: brief starts with "Return"
16+
- Use `@param` for function parameters
17+
- Use `@tparam` for template parameters, except:
18+
- Variadic args (`Args...`) — omit
19+
- Types deduced from function parameters — omit (self-evident from `@param`)
20+
- Use `@return` for return value details
21+
- Use `@pre` for preconditions
22+
- Use `@post` for postconditions
23+
- Use `@throws` for exceptions
24+
- Use `@note` for important notes
25+
- Use `@see` for cross-references
26+
- Use `@code` / `@endcode` for examples
27+
28+
## Examples
29+
30+
```cpp
31+
/** Return the size of the buffer sequence.
32+
33+
@param buffers The buffer sequence to measure.
34+
35+
@return The total byte count.
36+
*/
37+
template<class BufferSequence>
38+
std::size_t
39+
buffer_size(BufferSequence const& buffers);
40+
```
41+
42+
No `@tparam` needed—`BufferSequence` is evident from `@param buffers`.
43+
44+
```cpp
45+
/** Return the default value.
46+
47+
@tparam T The value type.
48+
*/
49+
template<class T>
50+
T default_value();
51+
```
52+
53+
`@tparam` needed—`T` has no corresponding function parameter.
54+
55+
## Preferences
56+
57+
- Concise, dry answers
58+
- Full files, not diffs
59+
- Accurate, compiling C++ code

0 commit comments

Comments
 (0)