March 30th: Summer Sales Open for All Destinations in France!

by Malin Schibler, posted 24 March 2017 | Add comment

A TGV from Paris runs along the French Riviera, before its arrival in Nice.

A TGV from Paris runs along the French Riviera, before its arrival in Nice.

It’s time for the third and final round of SNCF summer sales! As of Thursday March 30th, you’ll be able to book your summer vacation train tickets for all destinations in France. This sale will be especially for departures from June 30th until August 27th and will include all TGV and Intercités train destinations. As per usual, the tickets go on sale in the early morning (French time), yet we cannot reveal exactly at which time. So we can only recommend to either set your alarm clock for an early wake up or stay up a bit longer than usual, depending on wherever in the world you may be booking from.

A short history of the summer sales

In the past few years, SNCF has released it’s summer sale tickets in two phases: first for the south of France and then later came the North. However, this year we have been pleasantly surprised by three sales rounds, which have been more-or-less equally divided by geographic regions. First came the Paris to Provence-Alpes-Côte d’Azur region sale, then last week the sale for the west of France started and now finally the rest of France will also be covered!

A high speed train running over a viaduct alongside mediterranean coast.

Your holidays, from Lille to Montpellier

All of the destinations that were not covered in the previous sale will now be open for booking on Thursday March 30th. This includes all of the cities in the South, East and North that were not included in the first round of sales. Some examples include:

  • Southern France: Montpellier, Sète or Perpignan
  • Eastern France: Lyon, Grenoble and les Alpes, Dijon, Strasbourg.
  • Northern France: Lille

So luckily this time, no one is left out! However, we do have to remind you that the cheapest tickets do sell out quickly. So don’t wait too long before you book.

Summer in France in three parts

In order to give you a quick summary of the sales, here are the tickets that are already or soon will be available for booking:

  • On February 2nd, the tickets for the Provence-Alpes-Côte d’Azur region went on sale for journeys as of the 2nd of July.
  • On the 15th of March, train tickets for the west of France (Brittany and the Atlantic Coast) became available. Due to the opening of the new high-speed lines to Bordeaux and Rennes on July 2nd, the journey time to western France will be considerably shortened, in some cases by almost an hour.
  • On March 30th, the rest of all of the TGV and Intercités destinations will also go on sale. So this one is quite easy! No need to look at a map in hour-long detail; this ticket sale includes all destinations in France.

If you were a bit late to the party and have realised your tickets are already on sale, it’s okay! Yet we must warn you: the likelihood of the cheapest tickets (called Prem’s) still being available is quite slim. So as always, we recommend to book sooner rather than later.

March 15: Book Your TGV Tickets to France’s West Coast on Wednesday

by Malin Schibler, posted 14 March 2017 | Add comment



For those who enjoy spending their summer vacations in the French region of Brittany (or Bretagne for the more seasoned travellers) and the Atlantic Coast, you’ll be pleased to know that the train tickets for France’s western coast will go on sale on March 15, sometime very early in the morning (French time – Central European Time).

Add a reminder to your calendar, get up early or stay up late (depending on wherever in the world you may be booking from) and get ready to buy some cheap train tickets! As always, the most advantageous prices will sell out quickly. See it as the first half of your preparation in the search of finding the best spot on the beach and to take in those sunny rays.

Hint: for our dear Brits and Aussies, don’t forget your sunscreen though!

A refreshing sea breeze

Be prepared to have your regular Wednesday routine interrupted so you can get your hands on the cheapest train tickets this Wednesday for all TGV destinations in Brittany and the Atlantic Coast.

Below you’ll find a list of all the TGV destinations that will be available for booking as of Wednesday morning (French time):

Brittany: Le Mans, Laval, Vitré, Rennes, Dol-de-Bretagne, St-Malo, Lamballe, St-Brieuc, Guingamp, Plouaret-Trégor, Lannion, Morlaix, Landermeau, Brest, Redon, Vannes, Auray, Lorient, Quimperlé, Rosporden, Quimper.

Atlantic Coast: Vendôme-Villiers-sur-Loir TGV, Saint-Pierre-des-Corps, Tours, Saumur, Angers, Sablé-sur-Sarthe, Ancenis, Nantes, Savenay, Saint-Nazaire, Pornichet, La Baule-Escoublac, Le Pouliguen, Le Croisic, La Roche-sur-Yon, Les Sables d’Olonne, Châtellerault, Futuroscope, Poitiers, St-Maixent-l’École, Niort, Surgères, La Rochelle.

Bordeaux and the South-West: Ruffec, Angoulême, Libourne, Bordeaux, Facture, La Teste, Arcachon, Morcenx, Dax, Bayonne, Biarritz, Saint-Jean-de-Luz, Hendaye, Irun, Agen, Montauban, Toulouse.

Cross-country coasting

Photo of a TGV bordering the sea in the South of France.

You’re no longer required to depart from Paris to visit any of the above destinations. So if you’d like to plan a Tour de France on rails, you can travel between any of these TGV stations without necessarily needing to transfer via Paris first.

Reach the seashore faster than Sally sells seashells

For our dear train enthusiasts, you’ll be pleased to hear about the two new high-speed lines that will now be connecting Brittany and Pays de la Loire (Paris to Rennes), including the long awaited the Océane line (Paris to Bordeaux), which will go into service as of July 2nd.

This means that that the travel times have massively decreased; in some cases by more than one hour for certain destinations:

The privileges of this new high-speed line are not only for departures from Paris. So for those who are in Lille or Bordeaux, you can also benefit and gain 47 minutes in travel time. So if you’re travelling from Lille to Bordeaux (or vice-versa), it will now only take 4 hours and 36 minutes in the TGV. The Bordeaux to Angoulême travel time has heavily decreased too. Now it will take only 36 minutes (compared to the previous 60 minutes) to take in the beautiful scenery on the TGV between both of these historic cities.

And for the rest of France…

Depending on where you like to spend your vacation time, you may be late or you may be early. The tickets for the Provence-Alpes-Côte d’Azur region (e.g. Nice, Cannes, Avignon and Marseille) have already been on sale since the 2nd of February. Yet they haven’t sold out, so you haven’t missed your chance! And for other destinations in France (and Europe!), a small amount of patience will be required.

(Secretly) Get Away for Valentine’s Day

by Betsy Autran, posted 08 February 2017 | 2 comments


We’ve barely had time to recover from the dizzying amounts of champagne we shared over the Christmas and New Year holidays before rushing into the loving and passionate embrace of Valentine’s Day. Yes, it’s here, and you haven’t planned anything yet, have you? No worries, we’re always standing by to give you advice not only for your train tickets but your love life too.

Planning love abroad with a touch of fraud

We recently got an email from a client who demanded to know who had stolen her credit card information and booked train tickets on our website. We take the security of our clients’ data very seriously (plus we love mysteries and cracking down on crime), so we didn’t waste any time investigating this situation. What we discovered is that someone not only swiped her credit card info, but went so far as to hack into her email account and then had the audacity to book a round-trip train journey to Tuscany for her, her husband, and two of their friends!

If you haven’t already guessed what happened here, Mr. Client made a failed attempt to plan a secret holiday for Mrs. Client while using their shared bank card. He not only stole her heart, but her identity too. You know what they say: one cannot love and be wise. To avoid mishaps such as this, we’d like to help you plan the perfect secret romantic getaway and get away with it.

Where to go?

Picture of Parque Maria Luisa in Sevilla

Seville has the romantic air of Venice. Or more accurately, canals.
Credit : Frayle / Flickr

Perhaps your journey will begin with a savoury breakfast in 1st class on a Thalys train and end with a dreamy stroll along the canals of Amsterdam. You could cozy up in a horse-drawn carriage through the streets of Vienna. If you’re the active type, why not take a long-weekend and visit the Alps and ski to your heart’s content (and of course indulge in all kinds of heart melting cheesy goodness)? Hop on the Eurostar and visit us in the City of Love but please be aware that we don’t give romantic tours of Trainline HQ at this time—our handsome developers were causing too much trouble for young couples.

If you’re thinking of taking a longer trip, why not visit a few nearby destinations or take a day trip somewhere? The quaint city of Antwerp is only 1 hour by train from Amsterdam and 50 minutes from Brussels. If you’re looking to heat things up in hotter climates, an excursion to Seville or Valencia might just be what you need! From Seville you can easily make a day trip to the coast and or go inland and visit the historical city of Córdoba.

When and how long?

Is this a weekend getaway or do you intend to take off for a week? You’ll have to drop some clues to your significant other that s/he’s going to be calling in lovesick very soon.

Save money for your honey

Plan ahead to get the best deals on rail tickets and know when each rail operator releases the timetables so that you can book accordingly. Last minute planner? No worries. We guarantee the cheapest available train tickets. Click here to find out the various release dates for tickets.

Need some more inspiration?

Picture of the red train in Chamonix.

Credit : Daniel Luis Gómez Adenis / Flickr

We’ve asked our team of rail (and love) experts to come up with a few suggestions of their own. Here are our favourite picks for some nice romantic trips:

And if you are still pondering where to go, why not check out all of the destinations that Trainline has to offer? Click here to view our entire rail network coverage.

Don’t leave a trail

To prevent getting caught in the act, you’ll need to make a stealthy purchase if you’ve got a shared account. Our recommendation? The prepaid debit card. This way, even if the purchase still raises eyebrows, the actual booking payment won’t show up on your statement and expose you. And if you don’t have one, then you can always pay with PayPal too!

Schedule the catsitter

Now all you have to do is tie up a few loose ends and love will find a way. Or if you can’t bear to part with your four-legged companions, why not bring them along? We offer SNCF animal tickets too!

If you’re not so romantically inclined or, like many of us, haven’t got a sweetheart for whom you can plan exciting getaways, don’t forget that you can sweep yourself off your own feet and step onto a train at any time. The course of true love never did run smooth, but trains do.

2016 in Review

by Malin Schibler, posted 12 January 2017 | 5 comments

Illustration of a train coming out of a tunnel representing the 2016 year.

In 2015 and 2013 we looked back on the year in terms of numbers… We counted the number of users, employees and the amount of kilometres covered by train. We gave you all of the details. And certain speculators came up with the wildest scenarios.

This year, we’ve stopped with the numbers. Not because they are less significant than before. Instead we wanted to change the formula to keep in line with what 2016 has brought us: a vast amount of projects, surprises and new additions.

We’d like to thank all of you for this very eventful year, both for your understanding and your outrages too. It’s helped and encouraged us to continue and improve, because it’s you, both the old betas testers and the newcomers, that have paid close attention to what we do.

  • January

    High-speed payments
    We started the year with a bang: your payments launched with a speed of 320 km/h in our machines, so your bookings can always be completed in the fastest way possible. We keep your data and information Snowden-style secure, and you’re able to buy your ticket in just a few clicks.

  • February

    Let’s talk business
    After a beta launch in November 2015, we released Captain Train for Business in February. The features are identical to our booking platform that’s open to everyone, though it has been slightly adapted to suit the needs of professionals and businesses. We think only a single-word description is in order: simplicity.

  • March

    Welcome to Trainline
    In the long and grand history of Captain Train (Capitaine Train), our fusion with Trainline, the number one seller of train tickets on the other side of the Channel, remains of our biggest events.  It provided us with a huge new set of opportunities for us to give you a real travel experience for the entire European continent.

  • May

    All visitors welcome
    We launched a new version of our website, specifically for visitors. This means that you no longer have to create an account to book a ticket with us. In our quest for the simplest and best customer experience, compulsory account creation was our Achilles heel. For our apps this still has a short while longer to go and we will soon also offer bookings without needing to create an account.

  • June

    ¡Vamos a la playa!
    After Germany and Italy, Spain was next to be added to our network of countries for which we sell tickets. At the same time, we are also very proud to offer our website and applications in Spanish. That’s because when we do something, we do it muy bien. 

  • September

    A minty fresh water
    This September, we officially became Trainline and were completed with a new mint green paint job. You may have also spotted us in the Parisian metro with our new ad campaign. This was a big surprise to many of you, especially for our most loyal users. We received a lot of valuable feedback about this and would like to thank you for it!

  • October

    The age of Dog
    This was truly a fantastic announcement for our 4 (or fewer) legged friends. We now proudly also offer animal reservations for any SNCF tickets. Small anecdote: this feature has by far been one of the most asked-for since the beginning of Captain Train. So it was a true milestone for us to meet! Feel free to tweet us any pictures of you and your animal companion when you’re travelling by train…  (0r just any picture of your pet … we don’t mind.)

  • November

    Please mind the gap
    As the colder months of the year approached, we opened our doors to the curious at Startup Assembly [link in French]. A large amount of pastries have been eaten, and plenty of presentations about our payment systems and our spirit for customer service were given to accompany their delicious taste.

  • December

    Fries, waffles and pan-European democracy
    To finish off the year, we were super happy to announce that we now also sell tickets for the Benelux countries: Belgium, Luxembourg and the Netherlands. That means you can now eat chocolate covered waffles (or fries, if that’s your thing) throughout the entire year.

If you’ve kept reading this far, awesome! Here’s a little piece of insider information: we’re already back to work on exciting projects for 2017 and we will of course be telling you all about it, right here.

Train Tickets for the whole of Netherlands, Belgium and Luxembourg are now available on Trainline!

by Malin Schibler, posted 12 December 2016 | 4 comments

Illustration of symbols representing Benelux.

First it was only France, then came Germany, Italy and later on Spain. Now we’ve added the Netherlands, Belgium and Luxembourg – also known as Benelux! – for which we previously could only offer a handful of routes. So now we’re excited to announce that we cover all three countries and have a whole new range of destinations on offer.

The strength of a union

Situated between the north of France and the west of western Germany, you’ll find “Be” “Ne” “Lux”. It’s a region that finds its name from the three distinct countries that it is made up of: Belgium, the Netherlands and Luxembourg. It is these three countries that formed an economic union at the end of World War II, to join forces against their larger neighbours. And from this Benelux was born.

Harmonising rail travel

Although its purposes are primarily economic, the union also helped to make  the sale of Dutch, Belgian and Luxembourgish train tickets easier. It allowed Benelux to be crossed by train as if it were a single territory. By adding Benelux to our network coverage, we’re not simply adding a single new country – but instead three. So this means that we’ve been able to include three entire new rail networks to our platform.

Heading to Benelux


picture of the royal gallery in Brussels

La galerie du Roi — Flickr/Stephane Mignon

As the capital of the low lands, Brussels represents the political heart of Europe and may have once had a reputation for being stuffy or bureaucratic. Yet in fact, Brussels is gaining a reputation as one of Europe’s must-visit cities, with its great nightlife and fantastic shopping as well as its well known beer and chocolate!

Travel to Brussels by train:


pictures of Amsterdam housses with bikes

By bike

Although Amsterdam is largely known for being liberal in every sense of the word,  it is a city that encapsulates the true spirit of a global metropolitan village. It is lively, innovative and vibrant enough to be considered a world city, yet its quaint houses, historical architecture and never-ending canals all ensure that Amsterdam keeps its down-to-earth vibe. It is a remarkable city that has something to offer for all – as long as you don’t get in the way of the bikes!

Travel to Amsterdam by train:


Picture of the river in the city of Luxemburg

Luxembourg — Flickr/Flavio Ensiki

Nestled in between France, Belgium and Germany, the Grand Duchy of Luxembourg enjoys a central position in Western Europe, which means this tiny country is able to shine in the financial sector.  It also offers a beautiful scenic railway network. The Grand Duchy can readily be crossed by train: to get to the North, just get off at front of the train. To reach the south of Luxembourg, just exit the train at the rear. The capital of this eponymous country, the city of Luxembourg, is certainly worth seeing, if only to enjoy its walled city – an UNESCO World Heritage Site.

Head to Luxembourg by train:

Elsewhere in Benelux

These new tickets give you the opportunity to discover the lesser-known parts of Benelux. In Belgium, feel free to take a trip to Antwerp, Bruges or Liege. In the Netherlands, we let you discover Utrecht, The Hague, Gouda or Maastricht. Now that we can offer you tickets to all of these places, it would be a shame to miss out!

Taking the train in the Benelux

Picture of Antwerp train station with large door

Inside Antwerp station — Flickr/squawkr

Thanks to Mick’s work,  you can now book tickets to travel all throughout the Netherlands, Belgium and Luxembourg. This makes up a rail network of almost 7000 km in tracks.

Ticket prices and fares

For the Benelux, the ticket prices depends primarily on the length of your journey. The more distance that you cover – the more you pay.  For example, here are some of the costs of an adult priced fare:

Route Second First
Brussels – Bruges €14.30 €22.00
Amsterdam – Haarlem €5.20 €8,20
Eindhoven – Liège €23.00 €37.70
Rotterdam – Antwerpen €22.60 €36.40
Luxembourg – Gand €45.00 €63.80


When to book

Contrary to the practice for French, German, Spanish or Italian train tickets, the price of tickets for trains in the Benelux doesn’t depend on when you book. Instead, you will pay the exact same fare regardless of whether you book well in advance or on the day of travel. So the date of booking doesn’t really matter or influence your tickets.

No seat reservations

Unlike tickets for TGV trains or (the optional) seat reservations for Deutsche Bahn trains, there are no seat reservations given for tickets for any of the Benelux trains. This is much like the regional trains in France (TER), Italy, Germany and Spain. So when you receive your ticket, there is no seat number specified and instead you are free to pick your own seats on board, within your booked travel class.

Pre-book tickets

If you have a Trainline account, you might already know that you can pre-book your tickets by adding them to your cart – if this is permitted by the rail operator. By pre-booking tickets, you can guarantee and secure the price of your ticket and your seat reservations for a certain amount of time. This can range between 30 minutes to more than a week. There’s no obligation to pay and instead the reservation just deletes itself if it isn’t purchased before it expires.

You can do the same with any of your booked Benelux tickets. Yet the pre-booking time unfortunately isn’t as generous as with other tickets – you generally have a few hours before the reservation expires. So think well about your decision, but not too long 😉

Train tickets for the Benelux

Printing E-Tickets

All of the train tickets that we sell for the Netherlands, Belgium and Luxembourg are nominative e-tickets. This means that they are tied to the travelling passengers named and can’t be used by or sold to someone else. The e-ticket must be printed on A4 paper. Displaying the ticket on a phone unfortunately does not suffice – the ticket must be printed.

Refunding or exchanging E-tickets

The E-tickets are non-exchangeable. This simply means that if you wish to exchange your ticket (e.g. change the date or the destination), you can cancel the ticket and then purchase a new one. You can easily and quickly cancel your tickets on our website or with our apps. The ticket counters in Belgium, Holland or Luxembourg unfortunately cannot modify a ticket that has been purchased through us. Though send them our best railway greetings in any case.

Fare conditions

Picture of Brussels Midi train station

Mid-length Brussels — Flickr/R/DV/RS

Like all rail operators, the Benelux operators offer many fares. To make things as simple as possible, we sell two specific fares: Domestic and Standard.  Their conditions are very similar, regardless of whether you’re travelling in Belgium, the Netherlands or Luxembourg.

In general, the tickets:

  • cannot be exchanged
  • can be cancelled (for a fee of  €5 or €15).

Conditions for the Domestic and Standard fares

In Belgium, the fare is called Domestic. The Dutch and Luxembourgish have chosen to call it Standard. Although a difference in the name – they are both the same thing. These tickets are not exchangeable. They are refundable before departure. Either for a fee of €15 if cancelled on the day of departure or for a fee of €5 if cancelled before the midnight of departure.

Travel with your bike

If you’d like to travel within Benelux with a bike, then it’s super easy! First book a ticket online and then you can later buy a ticket for your bike at any ticket counter or ticket machine. Unlike SNCF trains, we do not sell bike tickets on our site for Benelux trains.

Here are the prices of bicycle spaces on trains in the Benelux:

  • €5.00 for a one-way ticket;
  • €8 for an unlimited number of journeys in a single day;
  • for free if you have a folding bike.

Trusting people with admin rights

by Pierre de La Morinerie, posted 02 December 2016 | Add comment

Picture of crossed keys, inspired by the film "The Grand Budapest Hotel" by Wes Anderson

The keys to our servers. / credits

At Trainline Europe it was decided early on to trust employees. Once you’re in, you’re in entirely. We are not going to give you gradual access to the code, partial access to some systems, editing rights on a case-to-case basis. As much as possible, everyone can use anything, right from the start.

This has many concrete advantages. It lets people be creative: when you don’t have to ask for permission, many creative experimentations and solutions are possible. It reduces friction and paperwork: when the administrator of a system leaves for vacation, work can still be done without waiting for their return to perform the required tasks. It gives greater responsibility to people: when you are given the rights to a system, you tend to be responsible with it.

Let me give you some examples.

C’mon newcomer. Follow me.

On your first day at Trainline Europe, we’ll spend a few hours giving you access to every system.

Are you a Customer WOW Engineer, supporting our customers? You get access to OTRS, our tool for answering customer support emails, of course. But also to GitLab, the tool used by developers to write and host the code for all our software. You’ll be able to see our issues boards and comment on our code or mock-ups. We’ll even train you for this. You can use this knowledge to better respond (“Yes, we have an open issue about unsellable tickets to Eu-La-Mouillette right now”), and report problems to developers.

Are you a software developer? You’ll get access to GitLab, but also to OTRS, our tool for answering customer support emails. You can use it to handle job applications, but also to answer real customer questions. We’ll even train you for this. Seeing real issues first-hand that customer face will help you to have a better sense of what to do to improve our product, or the tools used by WOW Engineers. You’ll also get rights to deploy software into production, from day one. What better way to on-board new developers than to make them push their own improvements into production?

You’ll also get access to our blog. You can write anything, and you have access to the “Publish” button. Want to talk about something great around you? Just sign-in and start writing a blog post. Of course you should probably get it proof-read by someone else, and ask for the person managing the editorial timeline for the right moment to publish a new article. But you won’t get stuck because “Sorry, the person with publishing rights is in Antarctica for three weeks”.

We use Slack for internal discussions. Many things happen there: work, notifications, random chatter… feel like an emoji is missing? Add it yourself right away. This is how the conventions for deploying our software emerged organically, using one custom emoji per project. Want to coordinate the work on a new feature? Just create a new public channel. Nobody will restrict this – and if the channel remains empty, there is still the possibility to archive it later.

Something is missing on our servers? You need a new package, or changing some settings? The Ansible recipes for configuring our servers are accessible – so that everyone can read, understand and improve the recipes.

Speaking for myself

A few years ago, we migrated from GitHub (a source-control website) to GitLab, a free alternative. Although GitLab is now a pillar of our development process, the beginnings were rough, with some features not working as well as we’d hoped.

After complaining for a few hours about this, I started editing GitLab source code and improving the major pain points. Once the changes were ready, I asked our CTO if he could deploy them. He answered by giving me administrative access to the machine running GitLab. Wow, that was more than I asked for.

I deployed the code, it worked well, solved our issues, and even got merged in the official project. Yay! With these rights, I started to feel responsible for it. I started upgrading GitLab regularly, following progress of new features, and making other improvements. I became the de-facto GitLab maintainer – just because someone, at some point, gave me full rights.

This wasn’t planned, but giving the rights was surely a productivity boost for us. And it worked the same way for many other people working on different topics: one day, someone gave them full rights.

Rewriting our software pipeline

Earlier this year we wrote about how we transitioned from one software pipeline to a new one, based on GitLab. This gave us a significant productivity boost: we run tests quicker and earlier than before, changes get accepted faster, and idea-to-production cycle is reduced.

This project started partly because transitioning a project to this new improved system didn’t require any permissions. Our old system wasn’t configured to give access to everyone – which means few people knew how to configure it, or could make changes. The new one can be used safely by anyone, without requiring specific permissions – and that’s how it started.


This doesn’t mean we compromise anything on security; quite the contrary. Access to production servers are restricted to a limited number of people. We use configuration templates, to keep away production credentials from the public recipes that configure our servers. We also peer-review all changes to new code or configuration. And as we use versioned configuration systems, we always know who did what.

But apart from this, once you’re in, we trust you. To not only to do the right things, but to use these rights to do amazing things.


This is why when we set up new software, we usually give admin rights to as many people as possible.

  • It allows people to solve real organization issues in a spontaneous way.
  • It removes single-points-of-failure, so that we can work even when the system administrator is not there.
  • It gives responsibility to the people, which they then may use for amazing things that weren’t even planned.

Give them access, and you’ll see what people can really do.

Standardizing interfaces across projects with Makefiles

by Pierre de La Morinerie, posted 30 September 2016 | Add comment

If you are working on a non-trivial software solution, you probably have several projects. Maybe one for the frontend, and one for the backend? Maybe one for managing data, or secrets, or deployment? Or did you drink the micro-services kool-aid (please don’t), and have now dozen of projects, each one containing a small server?

In this case, the README file for these projects probably have a common structure (“How to setup”, “How to run”, “How to test”) – but all of them will contain different invocations. Sometime the project needs to be started with npm run, or node server.js, or ember server – and some other project with bundle exec rails server, or maybe ./bin/server.

What if we could instead express standard shortcuts for all these commands?

That’s what Unix project maintainers have been doing for ages – and also what we eventually did with Captain Train projects: we used Makefiles.

Read more »