- What Is Gazelle?
- Why Build It?
- Get Started
- Releases
- Documentation
- Design Philosophy
- Project Values
- Why F#?
- A Note From Our Creator
- Join Our Community
- Roadmap
- Get Involved
- Open Source
- Security
- Errata
- Help and Support
- Our Contributors
Gazelle is a .NET library and Command-Line Interface (CLI) written in F#. It favours a batteries-included approach with intuitive CLI commands, structured outputs, Eurocode design equations, and ETABS I/O support. Gazelle is optimised for automation, CI pipelines, and workflow orchestration using peripheral command-line tools or AI orchestrators. The standard I/O mechanics of CLI tools allow them to interoperate easily with other languages and technology stacks, which opens up the ecosystem for collaboration and innovation.
Frustrated by the friction and opacity of traditional engineering software, and an admiration for the Unix Philosophy of small, focussed, composable tools, we set out on a journey to build a modern equivalent for the Structural Engineer. Gazelle aims to play nicely with the wider ecosystem, offer a stable and reliable platform for others to build on top of, and ultimately be a tool of choice for Engineers everywhere. We want to build something that Engineers love to use.
New to Gazelle? Choose your pathway:
- Structural Engineer? Read our Quick Start guide.
- Researcher? Help us improve Gazelle.
- Academic, Teacher or Student? Join our community.
- Professional Institution? Open a discussion or message us on LinkedIn.
- F# Programmer? Review our Issues and get involved.
- C# Programmer? Join this discussion: Create C# wrapper...
- Python Programmer? Join this discussion: Wire up Fable transpilation...
- JavaScript Programmer? Join this discussion: Wire up Fable transpilation...
- PowerShell User? Join this discussion: Implement PowerShell module...
- Keen to Sponsor? Sponsor development right here on GitHub.
- Need Enterprise Support? Message us on LinkedIn.
- Discovered a Vulnerability? Review our Security Policy.
- Found a Bug? Please file an Issue.
Gazelle is distributed via self-contained binaries for Windows, MacOS, and Linux at https://gazelle.sh.
Check out these resources to learn Gazelle.
- Quick Start Guide: Get started, fast! 💨
- Documentation: A comprehensive deep-dive.
- CLI Commands: Explore all
gzcommands. - API Reference: For .NET Developers.
- Discussions: Where our community learns together.
- FAQ: Answers to popular questions.
Gazelle is, first and foremost, the tool we wish existed:
- Fast,
- Local,
- Minimal,
- Type-safe,
- Composable,
- Transparent, and
- Crafted with intention.
The project is the purest expression of our love for:
- Order,
- Clarity,
- Purpose,
- Elegance,
- Precision, and
- Experience Design.
Gazelle is opinionated by design. These nine principles guide every decision in the project and set clear expectations for engineers and contributors.
- Privacy-First: All computation happens locally. Your data stays with you.
- Radical Transparency: Algorithms must be readable, verifiable, and open to scrutiny.
- Open Collaboration: Open code, discussion, and shared learning strengthen our profession.
- Reliability Matters: Stability, correctness, and deterministic behaviour matter more than novelty.
- Type-Safe by Design: F# Units-of-Measure and strong typing ensure mistakes surface at compile time.
- Designed for Humans: Simplicity, clarity, and flow are core design goals to reduce cognitive load.
- Optimised for AI: Clean CLI interfaces and structured data formats are ideal for AI orchestration.
- Small Composable Tools: Unix-style components combine into workflows.
- Performance as a Feature: Lean, fast, low-friction engineering binaries.
We primarily selected F# because of its Units-of-Measure feature, the language's succinctness for expressing mathematical formulae, and the interop with existing engineering applications offered by .NET. The strictness of the F# compiler makes it ideal for maintaining correctness. For safety-critical software development, compiler strictness helps to ensure structural integrity. The advanced domain modelling and type system characteristics of F# also allow for elegant expression of complex algorithms, which ultimately improves clarity, maintainability, and readability.
Gazelle is the clearest, most honest expression of my craft, my philosophy, and my desire to create a better way for engineers to think and work. It sits at the exact intersection of who I am, how I think, and what I wish existed in the world. It's ultimately a form of self-expression. Gazelle is my way of showing that AEC tools can be more humane. We don’t need bloated GUIs to do serious engineering. We can centre experience design in a field that ignores it. We can open-source safety-critical tooling and still maintain trust.
I am humbled and energised to see so many people take an interest in the project and follow its evolution. I welcome and encourage as many of you as possible to get involved and join our community. If you love Gazelle and wish to support, you can also sponsor its development here on GitHub.
I appreciate each and every one of you. Your advice and suggestions help to shape the strategic roadmap for Gazelle. If you'd like to chat, you can always reach me on LinkedIn. Please use our discussions forum to meet others in our community.
🦌 James 💨
Gazelle is a community-led project designed to:
- Accelerate AEC innovation,
- Underpin academic research,
- Support Structural Engineering education, and
- Connect like-minded Engineers.
Please ⭐ and 'watch' this repository so that you can track its progress in real-time. You can also get involved in the discussions where the design decisions for the future of Gazelle are conducted in the open.
We are currently defining the roadmap. Please keep an eye on our GitHub repository for updates.
Engineers accept phenomenal responsibility when dedicating their lives to improving our built environment. However, the vast majority of professional engineering software is, regrettably, closed source and proprietary. This is unfair and must change. Engineers should be offered the respect and freedom to inspect, validate and influence the algorithms used to design our buildings and bridges.
Gazelle is proudly open source.
Review our security policy for reporting vulnerabilities.
We consider structural engineering software to be safety critical. We strive to ensure stability, robustness and correctness throughout the source code, test suite and companion documentation. Nevertheless, we are human and mistakes are possible. Please submit error reports and suggestions for improvement via GitHub Issues.
Stuck and need support? Here are a few suggested next steps:
- Review our documentation to see if we've answered your question.
- Check out Issues to see if others are experiencing similar problems.
- Review Discussions to discover conversations our community is having.
- File a new Issue and help us improve Gazelle.
- Reach out on LinkedIn and we'll do our best to help you.
Thanks to those who have contributed to Gazelle and help to keep the project moving forwards:
Built with ❤️ for the global engineering community
Fast • Simple • Reliable • Transparent • Cross-platform