# Building the thing

### Introduction

Minishell is a big project that requires a good communication between both of the group member and a good organization on how you divide the work that has to be done as to not do the same thing twice or not as the other expects it to work.

Start by laying down the majors steps of the project and talk about how you want to work together and all of that before starting.

If you want to do the bonuses, think about how you'll implement them from the beginning, it will be very hard to implement them later without redoing everything from scratch.

### Checklist / documentation

Here I'll give you the way we divided our work, I'm not telling you that is THE way to do it but it gives you an idea.

We split the work in two main parts from the beginning, that were later splitted again into smaller parts :

* Lexing / parsing
* Execution

Take some time to read / watch things about lexing and parsing, these subjects may seem a little boring but are really interesting and it will help you to know what they are for and at what time you'll need to use them.

Some groups didn't do any lexing, take a look at what it is and decide if you want to use it or not.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://42-cursus.gitbook.io/guide/3-rank-03/minishell/building-the-thing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
