|
1 | | -# Contributing to insert-tools |
| 1 | +# Contributing to Insert Tools |
2 | 2 |
|
3 | | -Thanks for your interest in contributing! We welcome all contributions — bug reports, feature suggestions, code improvements, documentation, and more. |
| 3 | +🎉 Thanks for taking the time to contribute to **insert-tools**! |
4 | 4 |
|
5 | | -## How to Contribute |
| 5 | +We welcome contributions of all kinds — new features, bug fixes, documentation, tests, or feedback. Here's how to get started. |
6 | 6 |
|
7 | | -### 1. Fork the Repository |
| 7 | +--- |
8 | 8 |
|
9 | | -Click the "Fork" button in the top right corner of the [repo](https://github.com/castengine/insert-tools). |
| 9 | +## 🛠️ Setting up the project locally |
10 | 10 |
|
11 | | -### 2. Clone Your Fork |
| 11 | +1. **Fork the repository** on GitHub |
| 12 | +2. Clone your fork: |
12 | 13 |
|
13 | | -```bash |
14 | | -git clone https://github.com/yourusername/insert-tools.git |
15 | | -cd insert-tools |
16 | | -``` |
| 14 | + ```bash |
| 15 | + git clone https://github.com/your-username/insert-tools.git |
| 16 | + cd insert-tools |
| 17 | + ``` |
| 18 | +3. **Install dependencies**: |
17 | 19 |
|
18 | | -### 3. Create a Feature Branch |
| 20 | + ```bash |
| 21 | + pip install -r requirements.txt |
| 22 | + ``` |
| 23 | +4. **Try the CLI**: |
19 | 24 |
|
20 | | -```bash |
21 | | -git checkout -b feature/your-feature-name |
22 | | -``` |
| 25 | + ```bash |
| 26 | + python clickhouse_insert/cli.py --help |
| 27 | + ``` |
23 | 28 |
|
24 | | -### 4. Make Changes and Commit |
| 29 | +--- |
25 | 30 |
|
26 | | -Make your changes, and commit them: |
| 31 | +## 📁 Project structure |
27 | 32 |
|
28 | | -```bash |
29 | | -git add . |
30 | | -git commit -m "Add a clear message about what you changed" |
31 | | -``` |
| 33 | +* `clickhouse_insert/` – main CLI logic and insert functionality |
| 34 | +* `tests/` – unit tests |
| 35 | +* `examples/` – example configs or use cases |
| 36 | +* `README.md` – overview and usage instructions |
| 37 | + |
| 38 | +--- |
| 39 | + |
| 40 | +## 🧪 Running tests |
32 | 41 |
|
33 | | -### 5. Push to GitHub |
| 42 | +We use `pytest` for testing: |
34 | 43 |
|
35 | 44 | ```bash |
36 | | -git push origin feature/your-feature-name |
| 45 | +pytest tests/ |
37 | 46 | ``` |
38 | 47 |
|
39 | | -### 6. Create a Pull Request |
40 | | - |
41 | | -Go to your forked repository, click "New Pull Request", and follow the instructions. |
| 48 | +Make sure your feature or fix includes a test case if applicable. |
42 | 49 |
|
43 | 50 | --- |
44 | 51 |
|
45 | | -## 🐛 Reporting Bugs |
| 52 | +## 💬 Making changes |
46 | 53 |
|
47 | | -- Use GitHub [Issues](https://github.com/castengine/insert-tools/issues) |
48 | | -- Please provide steps to reproduce, expected vs actual behavior, and environment info (OS, Python version, etc.) |
| 54 | +1. Create a new branch: |
49 | 55 |
|
50 | | ---- |
| 56 | + ```bash |
| 57 | + git checkout -b your-feature-name |
| 58 | + ``` |
| 59 | + |
| 60 | +2. Make your changes |
| 61 | + |
| 62 | +3. Commit your work: |
| 63 | + |
| 64 | + ```bash |
| 65 | + git commit -m "feat: short description of your change" |
| 66 | + ``` |
51 | 67 |
|
52 | | -## 💡 Feature Suggestions |
| 68 | + Example prefixes: |
53 | 69 |
|
54 | | -Open an issue and label it with `enhancement`. Describe: |
55 | | -- What problem this feature solves |
56 | | -- How it should work |
| 70 | + * `feat:` – new feature |
| 71 | + * `fix:` – bug fix |
| 72 | + * `test:` – test related changes |
| 73 | + * `docs:` – documentation only |
| 74 | + |
| 75 | +4. Push and open a pull request: |
| 76 | + |
| 77 | + ```bash |
| 78 | + git push origin your-feature-name |
| 79 | + ``` |
57 | 80 |
|
58 | 81 | --- |
59 | 82 |
|
60 | | -## 📋 Code Style |
| 83 | +## ✨ Suggesting features or reporting issues |
| 84 | + |
| 85 | +We love ideas! Feel free to [open an issue](https://github.com/castengine/insert-tools/issues) for: |
61 | 86 |
|
62 | | -- Use `black` or `isort` for formatting |
63 | | -- Keep functions small and clear |
64 | | -- Write docstrings and comments for clarity |
| 87 | +* Feature requests |
| 88 | +* Bugs |
| 89 | +* Usability suggestions |
65 | 90 |
|
66 | 91 | --- |
67 | 92 |
|
68 | | -## ✅ Checklist Before Submitting |
| 93 | +## ✅ Code of Conduct |
69 | 94 |
|
70 | | -- [ ] Code compiles / runs without error |
71 | | -- [ ] Tests pass (if applicable) |
72 | | -- [ ] Includes documentation or examples (if needed) |
| 95 | +This project follows a [Code of Conduct](./CODE_OF_CONDUCT.md). By participating, you agree to uphold these standards. |
73 | 96 |
|
74 | 97 | --- |
75 | 98 |
|
76 | | -Thank you for contributing 🙏 |
| 99 | +## 📫 Contact |
| 100 | + |
| 101 | +For questions or discussions, open a GitHub issue or reach out via Discussions tab. |
| 102 | + |
| 103 | +Happy coding! 🚀 |
0 commit comments