Files
JuliaFEM.jl/docs/CONTRIBUTING.md
T
Jukka Aho 241fadc669 docs: Add contributor quick-start guide
New file providing step-by-step onboarding for contributors:
- Quick links to contributor manual, coding standards, and testing philosophy
- 8-step workflow from fork to pull request
- Code of conduct principles (respectful, constructive, welcoming)
- Clear acceptance criteria (type stability, tests, documentation, clean commits)
- Rejection criteria (type instability, no tests, Greek letters, breaking changes)
- Help resources (discussions, issues, PRs)
- MIT license acknowledgment
2025-11-09 08:23:16 +02:00

2.7 KiB

title, description, date, author, categories, keywords, audience, level, type
title description date author categories keywords audience level type
Contributing to JuliaFEM Quick start guide for new contributors 2025-11-09 Jukka Aho
development
contributing
getting started
juliafem
contributing
pull requests
development
contributors beginner guide

Thank you for considering contributing to JuliaFEM! 🎉

Quick Start

  1. Fork the repository on GitHub

  2. Clone your fork:

    git clone https://github.com/YOUR_USERNAME/JuliaFEM.jl.git
    cd JuliaFEM.jl
    
  3. Create a branch:

    git checkout -b fix-issue-123
    
  4. Read the Coding Standards - Critical rules like:

    • Use u, v, w for reference coordinates
    • Never use Greek letters (ξ, η, ζ) in code
    • Type-stable code required
    • Zero allocations in hot paths
  5. Make your changes following the standards

  6. Run tests:

    julia --project=. -e 'using Pkg; Pkg.test()'
    
  7. Commit with good messages:

    feat(topology): Add Pyr5 pyramid element
    
    - Implement 5-node pyramid reference element
    - Zero-allocation tuple interface
    - Tests for reference coordinates
    
    Closes #123
    
  8. Push and create Pull Request

Code of Conduct

  • Be respectful and constructive
  • Focus on the code, not the person
  • Welcome newcomers and help them learn
  • Ask questions before making assumptions

What We Look For

Type-stable code - Performance depends on it
Tests included - New features need tests
Documentation - Docstrings for exported functions
Clean commits - Logical, well-described changes
Follows standards - Read coding_standards.md

Type-unstable code - Will be rejected
No tests - Cannot merge without tests
Greek letters in code - Use u, v, w instead
Breaking changes - Discuss in issue first

Getting Help

  • Questions? Open a GitHub Discussion
  • Bug report? Open an issue with reproducible example
  • Feature idea? Open an issue to discuss before implementing
  • Stuck? Ask in the issue or PR - we're happy to help!

License

By contributing, you agree that your contributions will be licensed under the MIT License.


Ready to contribute? → Start with Contributor Manual and Coding Standards