Skip to content

Commit 435c5a7

Browse files
committed
docs: add contribution guidelines
1 parent 02ae2a3 commit 435c5a7

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Contributing to RustForge Terminal
2+
3+
First off, thank you for considering contributing to RustForge! It's people like you that make RustForge such a great tool.
4+
5+
## General Guidelines
6+
7+
- **No Emojis:** Please refrain from using emojis in commit messages, documentation, or code comments. We maintain a strictly professional aesthetic.
8+
- **Commit Messages:** Write clear, concise, and descriptive commit messages. Use the imperative mood (e.g., "Add feature" instead of "Added feature").
9+
- **Branching:** Create a new branch for each feature or bug fix. Do not commit directly to the `main` branch.
10+
- **Code Style:** Follow standard Rust formatting guidelines. Run `cargo fmt` before submitting your code.
11+
12+
## Getting Started
13+
14+
1. **Fork** the repository on GitHub.
15+
2. **Clone** your fork locally:
16+
```sh
17+
git clone https://github.com/YOUR_USERNAME/rust-finance.git
18+
cd rust-finance
19+
```
20+
3. **Create a branch** for your specific changes:
21+
```sh
22+
git checkout -b feature/your-feature-name
23+
```
24+
25+
## Development Workflow
26+
27+
### Building
28+
29+
Make sure you have Rust installed. Build the entire workspace:
30+
31+
```sh
32+
cargo build --workspace
33+
```
34+
35+
### Testing
36+
37+
Before submitting a pull request, ensure all tests pass:
38+
39+
```sh
40+
cargo test --workspace
41+
```
42+
43+
## Pull Request Process
44+
45+
1. Push your changes to your fork on GitHub.
46+
2. Submit a pull request to the `main` branch of the original repository.
47+
3. Ensure your PR description clearly states the problem addressed and the solution implemented.
48+
4. Link any relevant issues in the PR description (e.g., "Fixes #123").
49+
5. Wait for review. Address any feedback provided by the maintainers.
50+
51+
## Setting Up Environment Variables
52+
53+
If you are working on components that require external APIs (like `daemon` or `ingestion`), make sure you have the necessary environment variables set up locally. We recommend creating a `.env` file (which is gitignored) for your local keys:
54+
55+
```sh
56+
ANTHROPIC_API_KEY="your_key"
57+
FINNHUB_API_KEY="your_key"
58+
ALPACA_API_KEY="your_key"
59+
ALPACA_SECRET_KEY="your_key"
60+
```
61+
62+
## Architecture Notes
63+
64+
Please review the architecture diagram in the `README.md` before making significant structural changes to ensure your modifications align with the overall system design.
65+
66+
Thank you for contributing!

0 commit comments

Comments
 (0)