Skip to content

Commit 552ae03

Browse files
committed
docs: add CONTRIBUTING.md
Closes #109
1 parent f137783 commit 552ae03

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Welcome Contributors
2+
3+
We welcome contributions to enhance Claudia's capabilities and improve its performance. To report bugs, create a [GitHub issue](https://github.com/getAsterisk/claudia/issues).
4+
5+
> Before contributing, read through the existing issues and pull requests to see if someone else is already working on something similar. That way you can avoid duplicating efforts.
6+
7+
To contribute, please follow these steps:
8+
9+
1. Fork the Claudia repository on GitHub.
10+
2. Create a new branch for your feature or bug fix.
11+
3. Make your changes and ensure that the code passes all tests.
12+
4. Submit a pull request describing your changes and their benefits.
13+
14+
## Pull Request Guidelines
15+
16+
When submitting a pull request, please follow these guidelines:
17+
18+
1. **Title**: Please include following prefixes:
19+
- `Feature:` for new features
20+
- `Fix:` for bug fixes
21+
- `Docs:` for documentation changes
22+
- `Refactor:` for code refactoring
23+
- `Improve:` for performance improvements
24+
- `Other:` for other changes
25+
26+
For example:
27+
- `Feature: added custom agent timeout configuration`
28+
- `Fix: resolved session list scrolling issue`
29+
30+
2. **Description**: Provide a clear and detailed description of your changes in the pull request. Explain the problem you are solving, the approach you took, and any potential side effects or limitations of your changes.
31+
32+
3. **Documentation**: Update the relevant documentation to reflect your changes. This includes the README file, code comments, and any other relevant documentation.
33+
34+
4. **Dependencies**: If your changes require new dependencies, ensure that they are properly documented and added to the `package.json` or `Cargo.toml` files.
35+
36+
5. If the pull request does not meet the above guidelines, it may be closed without merging.
37+
38+
**Note**: Please ensure that you have the latest version of the code before creating a pull request. If you have an existing fork, just sync your fork with the latest version of the Claudia repository.
39+
40+
## Coding Standards
41+
42+
### Frontend (React/TypeScript)
43+
- Use TypeScript for all new code
44+
- Follow functional components with hooks
45+
- Use Tailwind CSS for styling
46+
- Add JSDoc comments for exported functions and components
47+
48+
### Backend (Rust)
49+
- Follow Rust standard conventions
50+
- Use `cargo fmt` for formatting
51+
- Use `cargo clippy` for linting
52+
- Handle all `Result` types explicitly
53+
- Add comprehensive documentation with `///` comments
54+
55+
### Security Requirements
56+
- Validate all inputs from the frontend
57+
- Use prepared statements for database operations
58+
- Never log sensitive data (tokens, passwords, etc.)
59+
- Use secure defaults for all configurations
60+
61+
## Testing
62+
- Add tests for new functionality
63+
- Ensure all existing tests pass
64+
- Run `cargo test` for Rust code
65+
- Test the application manually before submitting
66+
67+
Please adhere to the coding conventions, maintain clear documentation, and provide thorough testing for your contributions.

0 commit comments

Comments
 (0)