Web application development/production parity can be improved by defining process types in a manifest named Procfile such as this one for a Rails app: web: bundle exec puma -p $PORT -C ./config/puma.rb worker: bundle exec rake jobs:work In production, Heroku’s Cedar stack reads process types from that file. In development, Foreman manages output streams, responds to crashed processes, and handles
![Foreman as Process Manager](https://cdn-ak-scissors.b.st-hatena.com/image/square/ada749b5a62fdc3231c4b7a13621189012ca5ae0/height=288;version=1;width=512/https%3A%2F%2Fimages.prismic.io%2Fthoughtbot-website%2FZn0Q2JbWFbowe7qY_default-article-background.png%3Fauto%3Dformat%252Ccompress%26mark-x%3D356%26mark-y%3D100%26mark64%3DaHR0cHM6Ly9hc3NldHMuaW1naXgubmV0L350ZXh0Lz90eHQtbGVhZD0wJnR4dC10cmFjaz0wJnR4dDY0PVJtOXlaVzFoYmlCaGN5QlFjbTlqWlhOeklFMWhibUZuWlhJJTNEJnR4dGNscj1mNWY1ZjUmdHh0Zm9udD1JQk1QbGV4U2Fuc0pQLVNlbWlCb2xkJnR4dHBhZD0wJnR4dHNpemU9NjQmdz04MDA%253D%26txt-align%3Dcenter%252Cmiddle%26txt-color%3Df5f5f5%26txt-fit%3Dmax%26txt-font%3DIBMPlexSansJP-SemiBold%26txt-size%3D24%26txt-x%3D391%26txt-y%3D526%26txt%3DDan%2BCroak)