Implement a number crunching CLI utility which implements a unit converter, calculator, and area calculator. Write it in any language you'd like.
A working agreement is essentially a promise to you or to your team on habits and processes you agree to follow while working on a project.
Tip: Try to incorporate as many of these habits as possible, as is they aim to reflect a real-world workflow vs just hacking away at something. They are designed to keep you organized and ensure you deliver a quality product.
As a developer, I agree to handle errors gracefully and provide feedback to the user.
As a developer, I agree to ensure each story is properly tested. (A lot of times it can be a pain to test a CLI's tool main function, you'll understand when you get there, try your best, 100% code coverage is not required)
As a developer, I agree to create a new git branch for each story I work on.
Set up the basic structure of the NumberCruncher CLI tool, ensuring it's user-friendly and easy to navigate.
As a user, I want to view instructions and examples on how to use the NumberCruncher CLI tool, so that I can quickly understand the available s and commands.
As a user, I want to easily run the NumberCruncher CLI tool, so that I can perform conversions, calculations, and other operations from my command line.
As a user, I want to check the version of the CLI tool, so that I know which version I am using.
Perform unit conversions for various measurements, such as length, weight, volume, and more.
As a user, I want to convert between different length units, so that I can easily compare measurements like inches, feet, meters, and kilometers.
As a user, I want to convert between different weight units, so that I can easily compare measurements like pounds, kilograms, and grams.
As a user, I want to convert between different volume units, so that I can easily compare measurements like liters, gallons, and milliliters.
As a user, I want to convert between different temperature units, so that I can easily compare temperatures in Celsius, Fahrenheit, and Kelvin.
As a user, I want to convert between different time units, so that I can easily compare durations in seconds, minutes, hours, and days.
As a user, I want to convert between different speed units, so that I can easily compare speeds in mph, km/h, and knots.
As a user, I want to convert between different area units, so that I can easily compare measurements like square feet, square meters, and acres.
Perform basic arithmetic operations like addition, subtraction, multiplication, and division.
As a user, I want to add two numbers, so that I can quickly calculate sums directly from the command line.
As a user, I want to subtract one number from another, so that I can quickly calculate differences directly from the command line.
As a user, I want to multiply two numbers, so that I can quickly calculate products directly from the command line.
As a user, I want to divide one number by another, so that I can quickly calculate quotients directly from the command line.
Calculate the area of different geometric shapes such as squares, circles, and triangles.
As a user, I want to calculate the area of a square, so that I can determine the size of square spaces directly from the command line.
As a user, I want to calculate the area of a circle, so that I can determine the size of circular spaces directly from the command line.
As a user, I want to calculate the area of a triangle, so that I can determine the size of triangular spaces directly from the command line.