mirror of
https://github.com/freedbygrace/DynamoDNS.git
synced 2026-08-31 12:48:03 +00:00
Set up the project with initial files and improve development experience
Add .gitignore, .env.example, CONTRIBUTING.md, LICENSE, a preview image, and roadmap to the project. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/910f6160-6716-488e-83e6-61256595c269.jpg
This commit is contained in:
+108
@@ -0,0 +1,108 @@
|
||||
# Contributing to DynamoDNS
|
||||
|
||||
Thank you for your interest in contributing to DynamoDNS! This document provides guidelines and instructions for contributing to this project.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
By participating in this project, you agree to abide by our Code of Conduct. Please read it to understand what behavior will and will not be tolerated.
|
||||
|
||||
## How Can I Contribute?
|
||||
|
||||
### Reporting Bugs
|
||||
|
||||
This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
|
||||
|
||||
- Use the issue tracker to report bugs
|
||||
- Before creating a new issue, check if the problem has already been reported
|
||||
- When you create a new issue, include as many details as possible by filling out the provided template
|
||||
|
||||
### Suggesting Enhancements
|
||||
|
||||
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
|
||||
|
||||
- Use the issue tracker with the enhancement label
|
||||
- Provide a clear and detailed explanation of the feature you want
|
||||
- Explain why this enhancement would be useful to most DynamoDNS users
|
||||
|
||||
### Your First Code Contribution
|
||||
|
||||
Unsure where to begin contributing? Look for issues labeled:
|
||||
|
||||
- `good first issue` - issues which are good for newcomers
|
||||
- `help wanted` - issues which need extra attention
|
||||
- `documentation` - improvements or additions to documentation
|
||||
|
||||
### Pull Requests
|
||||
|
||||
- Fill in the required template
|
||||
- Follow the coding style and standards
|
||||
- Include appropriate test cases
|
||||
- Update documentation for any new features
|
||||
- End all files with a newline
|
||||
- Place requires/imports in the following order:
|
||||
- Built-in Node Modules (e.g., 'path')
|
||||
- External Modules (e.g., 'express')
|
||||
- Internal Modules (e.g., './utils')
|
||||
|
||||
## Development Setup
|
||||
|
||||
To set up your development environment:
|
||||
|
||||
1. Fork the repository
|
||||
2. Clone your fork locally
|
||||
3. Install dependencies: `npm install`
|
||||
4. Create a `.env` file with development settings
|
||||
5. Run `npm run dev` to start the development server
|
||||
|
||||
See the [Development Guide](docs/development-guide.md) for more detailed instructions.
|
||||
|
||||
## Coding Guidelines
|
||||
|
||||
### JavaScript/TypeScript Style Guide
|
||||
|
||||
- We use TypeScript for type safety
|
||||
- Follow the ESLint configuration included in the project
|
||||
- Use Prettier for code formatting
|
||||
- Write descriptive variable and function names
|
||||
- Comment your code where necessary, especially complex logic
|
||||
|
||||
### Git Commit Messages
|
||||
|
||||
- Use the present tense ("Add feature" not "Added feature")
|
||||
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
|
||||
- Limit the first line to 72 characters or less
|
||||
- Reference issues and pull requests liberally after the first line
|
||||
- Consider starting the commit message with an applicable emoji:
|
||||
- ✨ `:sparkles:` when adding a new feature
|
||||
- 🐛 `:bug:` when fixing a bug
|
||||
- 📚 `:books:` when adding or updating documentation
|
||||
- ♻️ `:recycle:` when refactoring code
|
||||
- 🧪 `:test_tube:` when adding tests
|
||||
- 🎨 `:art:` when improving the format/structure of the code
|
||||
|
||||
### Testing Guidelines
|
||||
|
||||
- Write tests for all new features and bug fixes
|
||||
- Aim for high test coverage
|
||||
- Test edge cases and error conditions
|
||||
- Run the full test suite before submitting a pull request
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
1. Ensure all tests pass
|
||||
2. Update the documentation with details of changes
|
||||
3. The pull request will be merged once it receives approval from maintainers
|
||||
|
||||
## Release Process
|
||||
|
||||
DynamoDNS follows semantic versioning. The release process is:
|
||||
|
||||
1. New features in master branch are bundled for a future release
|
||||
2. Release candidates undergo additional testing
|
||||
3. Final releases are tagged and published
|
||||
|
||||
## Questions?
|
||||
|
||||
If you have any questions, feel free to create an issue with the "question" label or contact the maintainers directly.
|
||||
|
||||
Thank you for contributing to DynamoDNS!
|
||||
Reference in New Issue
Block a user