Hone

Try a command

A terminal you cannot break

Hone is a place to practise programming. This page is its terminal: type a command and press enter. You get what a real shell would print, the files change in front of you, and the panel beside it says what just happened and why. git works here too: run git init and you have a real repository, with commits, branches, merges and conflicts you can practise on and nothing you can lose. Nothing here touches a real computer: there is no network, no processes, and no way out of this page.

you@hone: ~

Try ls to see what is here, or help for everything this sandbox knows.

What just happened

Plain words for the command you just ran. This is the half a terminal never tells you.

Run something and this fills in.

Your repository

This appears the moment you run git init. It is the same repository the terminal is using, drawn.

Files here

Where you are standing, updated as you go. Make a file and watch it turn up.

Try these

Each one shows off a different idea. Tap to put it in the box, then press Run.

This is an imitation, and an honest one: every command here is checked against the real thing by the test suite, so what you read is what a real shell would print. The git half goes further and hashes its objects exactly the way git does, which means the commit ids you see are the ids real git would compute for the same work. Where it differs on purpose (it sorts find results so the answer is the same every time) the difference is written down in the code. It has no processes, no jobs and no network; a remote is another folder on this pretend disk; chmod changes a number this page prints back rather than a real permission; and every commit carries the same frozen timestamp so the answer never depends on the day.

Hone's shell and repository are original code written for this site. They were built by running the real programs, reading what they printed, and writing something that prints the same, which is exactly what the test suite still checks on every change; no source code from either project was copied. Git is a trade mark of Software Freedom Conservancy, Inc. Hone is not affiliated with or endorsed by them, and this sandbox is not Git.