Skip to content

Commit 5c83792

Browse files
authored
Merge pull request #1005 from quickfix-j/jetbrains-junie/issue-1003-run-3ffe8fd0-8592-4832-b0f6-5ad31763ffae
[Junie]: feat: create `.junie` directory with `guidelines.md` file
2 parents aaac6cd + 380bd45 commit 5c83792

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

.junie/guidelines.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# QuickFIX/J Project Guidelines
2+
3+
## Project Overview
4+
5+
QuickFIX/J is a full-featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular QuickFIX engine. This document provides guidelines for contributing to and working with the QuickFIX/J project.
6+
7+
## Development Environment
8+
9+
### Prerequisites
10+
11+
- Java JDK 8 or higher
12+
- Maven 3.6.x or higher
13+
- Git
14+
15+
### Setting Up Development Environment
16+
17+
1. Clone the repository:
18+
```
19+
git clone https://github.com/quickfix-j/quickfixj.git
20+
cd quickfixj
21+
```
22+
23+
2. Build the project:
24+
```
25+
./mvnw clean package -Dmaven.javadoc.skip=true -PskipBundlePlugin,minimal-fix-latest
26+
```
27+
28+
## Coding Standards
29+
30+
### Java Code Style
31+
32+
- Follow standard Java naming conventions
33+
- Use 4 spaces for indentation (no tabs)
34+
- Maximum line length of 120 characters
35+
- Include JavaDoc for all public classes and methods
36+
- Use meaningful variable and method names
37+
38+
### Commit Guidelines
39+
40+
- Write clear, concise commit messages
41+
- Use present tense ("Add feature" not "Added feature")
42+
- Reference issue numbers when applicable
43+
- Keep commits focused on a single logical change
44+
45+
## Pull Request Process
46+
47+
1. Create a feature branch from the main branch
48+
2. Make your changes following the coding standards
49+
3. Add or update tests as necessary
50+
4. Ensure all tests pass with `./mvnw test`
51+
5. Submit a pull request with a clear description of the changes
52+
53+
## Testing Guidelines
54+
55+
- Write unit tests for all new code
56+
- Ensure existing tests pass before submitting changes
57+
- Integration tests should be included for significant features
58+
- Test edge cases and error conditions
59+
60+
## Documentation
61+
62+
- Update documentation for any changed functionality
63+
- Document public APIs with JavaDoc
64+
- Keep README and other documentation up to date
65+
66+
## Issue Reporting
67+
68+
When reporting issues, please include:
69+
70+
- A clear description of the problem
71+
- Steps to reproduce
72+
- Expected vs. actual behavior
73+
- Version information (QuickFIX/J version, Java version, OS)
74+
- Any relevant logs or error messages
75+
76+
## Release Process
77+
78+
- Version numbers follow semantic versioning (MAJOR.MINOR.PATCH)
79+
- Release notes should document all significant changes
80+
- Releases are built and deployed using Maven
81+
82+
## Community Guidelines
83+
84+
- Be respectful and inclusive in all communications
85+
- Help others when possible
86+
- Follow the code of conduct
87+
- Give credit where it's due
88+
89+
## License
90+
91+
QuickFIX/J is licensed under the QuickFIX Software License, Version 1.0. All contributions must be compatible with this license.

0 commit comments

Comments
 (0)