Skip to content

Commit 7fd6aca

Browse files
Antony BaileyAntony Bailey
authored andcommitted
docs
1 parent 92ad7a6 commit 7fd6aca

File tree

7 files changed

+1103
-6
lines changed

7 files changed

+1103
-6
lines changed

CONTRIBUTING.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Contributing to CSQLY
2+
3+
Thank you for considering contributing to CSQLY! This document outlines the guidelines for contributing to the project.
4+
5+
## Code of Conduct
6+
7+
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
8+
9+
## How Can I Contribute?
10+
11+
### Reporting Bugs
12+
13+
- Check if the bug is already reported in the [Issues](https://github.com/Standard-Query-Language/CSQLY/issues)
14+
- If not, create a new issue with details:
15+
- A clear title
16+
- A detailed description
17+
- Steps to reproduce
18+
- Expected behavior vs. actual behavior
19+
- Environment details (OS, .NET version, etc.)
20+
21+
### Suggesting Enhancements
22+
23+
- Check if the enhancement is already suggested in the [Issues](https://github.com/Standard-Query-Language/CSQLY/issues)
24+
- If not, create a new issue with details:
25+
- A clear title
26+
- A detailed description explaining the enhancement and its benefits
27+
- Any design considerations or implementation details
28+
29+
### Pull Requests
30+
31+
1. Fork the repository
32+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
33+
3. Make your changes
34+
4. Run tests and ensure they pass (`./run_tests.sh` or `run_tests.bat`)
35+
5. Update documentation if necessary
36+
6. Commit your changes following our [commit message guidelines](#commit-messages)
37+
7. Push to your branch (`git push origin feature/amazing-feature`)
38+
8. Open a Pull Request with a clear description of the changes
39+
40+
## Development Setup
41+
42+
1. Install .NET SDK 9.0 or later
43+
2. Clone the repository
44+
3. Run `dotnet restore` to restore dependencies
45+
4. Run `dotnet build` to build the solution
46+
5. Run `./run_tests.sh` or `run_tests.bat` to run tests
47+
48+
## Project Structure
49+
50+
- `/CSQLY` - Core library
51+
- `/CSQLY.Tests` - Unit tests
52+
- `/CSQLY.CLI` - Command-line interface
53+
- `/docs` - Documentation
54+
55+
## Coding Guidelines
56+
57+
- Follow C# coding conventions
58+
- Write unit tests for new features
59+
- Document public APIs with XML comments
60+
- Keep code maintainable and readable
61+
62+
## Commit Messages
63+
64+
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
65+
66+
```bash
67+
<type>(<scope>): <description>
68+
69+
[optional body]
70+
71+
[optional footer]
72+
```
73+
74+
Examples:
75+
76+
- `feat(sqlite): add support for BLOB data`
77+
- `fix(parser): correct handling of null values`
78+
- `docs(readme): update installation instructions`
79+
80+
## Review Process
81+
82+
Pull requests will be reviewed by maintainers. The review process includes:
83+
84+
- Code review for quality, maintainability, and adherence to project standards
85+
- Verification that tests pass and coverage is maintained
86+
- Documentation review if applicable
87+
- Ensuring the PR addresses a specific issue or enhancement
88+
89+
## License
90+
91+
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.

README.md

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,34 @@
11
# CSQLY - SQL with YAML
22

3+
[![Build and Test](https://github.com/Standard-Query-Language/CSQLY/actions/workflows/build.yml/badge.svg)](https://github.com/Standard-Query-Language/CSQLY/actions/workflows/build.yml)
4+
[![NuGet](https://img.shields.io/nuget/v/CSQLY.svg)](https://www.nuget.org/packages/CSQLY/)
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6+
37
CSQLY is a simplified query language for multiple databases that allows you to write database queries in YAML format and execute them against different database engines.
48

59
## Features
610

711
- Write database queries in easy-to-read YAML format
8-
- Support for multiple database types (SQLite, MySQL/MariaDB, PostgreSQL, Oracle, MS SQL Server)
9-
- Simplified query syntax
12+
- Support for multiple database types:
13+
- SQLite
14+
- MySQL/MariaDB
15+
- PostgreSQL
16+
- Oracle
17+
- Microsoft SQL Server
18+
- Simplified query syntax with type safety
1019
- Connection pooling and management
1120
- Easily extensible architecture
21+
- Command-line interface for quick queries
1222

1323
## Installation
1424

15-
Install the CSQLY package from NuGet:
25+
### Package Manager Console
26+
27+
```
28+
Install-Package CSQLY
29+
```
30+
31+
### .NET CLI
1632

1733
```bash
1834
dotnet add package CSQLY
@@ -21,7 +37,7 @@ dotnet add package CSQLY
2137
## Basic Usage
2238

2339
```csharp
24-
using CSQLY;
40+
using CSQLY.Core;
2541
using CSQLY.Connectors;
2642

2743
// Create a database connection
@@ -45,9 +61,27 @@ foreach (var row in result)
4561
}
4662
```
4763

64+
## Command-Line Interface
65+
66+
CSQLY also provides a command-line interface for quick queries:
67+
68+
```bash
69+
# Install the CLI tool
70+
dotnet tool install --global CSQLY.CLI
71+
72+
# Execute a query from a file
73+
csqly -f query.yaml -c "Data Source=mydb.sqlite" -t sqlite
74+
```
75+
4876
## Documentation
4977

50-
For detailed documentation, visit [our wiki](https://github.com/Standard-Query-Language/CSQLY/wiki).
78+
For detailed documentation, see:
79+
80+
- [Getting Started](docs/getting-started.md)
81+
- [Query Syntax](docs/query-syntax.md)
82+
- [Database Connectors](docs/database-connectors.md)
83+
- [CLI Usage](docs/cli-usage.md)
84+
- [API Reference](docs/api-reference.md)
5185

5286
## Contributing
5387

@@ -59,6 +93,8 @@ Contributions are welcome! Please feel free to submit a Pull Request.
5993
4. Push to the branch (`git push origin feature/amazing-feature`)
6094
5. Open a Pull Request
6195

96+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
97+
6298
## License
6399

64-
This project is licensed under the MIT License - see the LICENSE file for details.
100+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

0 commit comments

Comments
 (0)