Productivity. Performance. Happiness.
Amber makes building web applications fast, simple, and enjoyable - with fewer bugs and blazing fast performance.
Welcome to Amber
Amber is a web application framework written in Crystal inspired by Kemal, Rails, Phoenix and other popular application frameworks.
The purpose of Amber is not to create yet another framework, but to take advantage of the beautiful Crystal language capabilities and provide engineers and the Crystal community with an efficient, cohesive, well maintained web framework that embraces the language philosophies, conventions, and guidelines.
Amber borrows concepts that have already been battle tested and successful, and embraces new concepts through team and community collaboration and analysis, which also aligns with Crystal's philosophy.
Community
Questions? Join our Discord.
Guidelines? We have adopted the Contributor Covenant to be our CODE OF CONDUCT for Amber.
Our Philosophy? Read Amber Philosophy H.R.T.
Documentation
Read Amber documentation on https://docs.amberframework.org/amber
Benchmarks
Techempower Framework Benchmarks - Round 18 (2019-07-09)
- Filtered by Full Stack, Full ORM, Mysql or Pg for comparing similar frameworks.
Installation & Usage
Homebrew (macOS/Linux)
brew install amber
Linux
git clone https://github.com/amberframework/amber.git
cd amber
git checkout stable
shards install
make
sudo make install
If you're using ArchLinux or similar distro try:
yay -S amber
Common
To compile a local bin/amber
per project use shards build amber
To use it as dependency, add this to your application's shard.yml
:
dependencies:
amber:
github: amberframework/amber
Read more about Amber CLI installation guide
Have an Amber-based Project?
Use Amber badge
[![Amber Framework](https://img.shields.io/badge/using-amber_framework-orange.svg)](https://amberframework.org/)
Release Checklist
- Test and release all dependencies
- Test everything locally
- Run
crelease 0.36.0
- repoint amber to master branch in
src/amber/cli/templates/app/shard.yml.ecr
template - update release notes
- update homebrew version and sha
- update linux repositories
- build and deploy docker image:
- verify Dockerfile is using the latest crystal version
docker login
docker build -t amberframework/amber:0.36.0
docker push amberframework/amber:0.36.0
Contributing
Contributing to Amber can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine. You don’t have to become a lifelong contributor to enjoy participating in Amber.
Tracking issues? Check our project board.
Code Triage? Join us on codetriage.
Amber is a community effort and we want You to be part of it. Join Amber Community!
- Fork it https://github.com/amberframework/amber/fork
- Create your feature branch
git checkout -b my-new-feature
- Write and execute specs and formatting checks
./bin/amber_spec
- Commit your changes
git commit -am 'Add some feature'
- Push to the branch
git push origin my-new-feature
- Create a new Pull Request
Contributors
License
This project is licensed under the MIT License - see the LICENSE file for details