-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
LoSkroefie edited this page Jan 19, 2025
·
1 revision
- .NET 6.0 SDK or later
- Git
- Visual Studio 2022 or VS Code
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/flexon-cli.git
- Add upstream remote:
git remote add upstream https://github.com/LoSkroefie/flexon-cli.git
- Create a branch:
git checkout -b feature/your-feature-name
dotnet builddotnet test- Follow C# coding conventions
- Use meaningful names
- Write clear comments
- Keep methods focused
- Add XML documentation
Format:
type(scope): description
[optional body]
[optional footer]
Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation
- style: Formatting
- refactor: Code restructuring
- test: Tests
- chore: Maintenance
Example:
feat(encoder): add support for custom type extensions
- Added IFlexonType interface
- Implemented custom type registration
- Added unit tests
Closes #123
[Fact]
public void TestFeature()
{
// Arrange
var data = new TestData();
// Act
var result = Process(data);
// Assert
Assert.Equal(expected, result);
}[Benchmark]
public void BenchmarkFeature()
{
var data = GenerateTestData();
Process(data);
}/// <summary>
/// Processes the specified data using FLEXON format.
/// </summary>
/// <param name="data">The data to process.</param>
/// <returns>The processed result.</returns>
/// <exception cref="FlexonException">
/// Thrown when processing fails.
/// </exception>
public T Process<T>(T data)
{
// Implementation
}- Keep it clear and concise
- Include code examples
- Add diagrams when helpful
- Update for new features
- Code follows style guide
- Tests added/updated
- Documentation updated
- Changelog updated
- All checks passing
- Submit PR
- Address review comments
- Update if needed
- Merge when approved
- Major: Breaking changes
- Minor: New features
- Patch: Bug fixes
- Update version
- Update changelog
- Create release branch
- Run tests
- Create release
- Update docs
- GitHub Issues
- Discussions
- Stack Overflow
- Discord
- Be respectful
- Be constructive
- Help others
- Follow guidelines
flexon-cli/
├── src/
│ ├── FlexonCLI/
│ │ ├── Commands/
│ │ ├── Core/
│ │ └── Utils/
│ └── FlexonCLI.Tests/
├── docs/
│ ├── api/
│ └── guides/
├── examples/
└── tools/
- Write clean code
- Add comments
- Use constants
- Handle errors
- Log properly
- Profile code
- Optimize hot paths
- Use benchmarks
- Monitor memory
- Validate input
- Handle secrets
- Check permissions
- Update dependencies
## Description
[Describe the issue]
## Steps to Reproduce
1. [First Step]
2. [Second Step]
3. [And so on...]
## Expected Behavior
[What should happen]
## Current Behavior
[What happens instead]## Changes
- [Change 1]
- [Change 2]
## Testing
- [ ] Unit Tests
- [ ] Integration Tests
## Documentation
- [ ] Updated Docs
- [ ] Added ExamplesQ: How do I debug FLEXON CLI? A: Use Visual Studio debugger or logging
Q: How do I profile performance? A: Use built-in benchmarks or dotTrace
- Check documentation
- Search issues
- Ask in discussions
- Join Discord
- Visual Studio
- ReSharper
- dotTrace
- BenchmarkDotNet
- Microsoft Docs
- C# Guidelines
- Git Documentation
- Markdown Guide