- ! Brief Description: Include a brief description of the idea in both the Readme.md and Cargo.toml files. The Readme.md must contain a technical description of the parsing process, detailing what exactly is being parsed and how the results of the parsing will be used. - ! Project Name: The project name must reflect the idea and be included in both the Readme.md and Cargo.toml files. - ! Grammar Rules: Develop at least 1 grammar rule for the parser. - ! Unit Tests: Implement unit tests for the parser; these can be placed in a separate file within the tests directory. - Test Coverage: Ensure each grammar rule is covered by at least one unit test. - Core Files: The project must include lib.rs and main.rs files. - CLI: Create a command-line interface that includes commands to parse a file and to display help and credits information. - cargo fmt should be used for code formatting. - cargo clippy should be used for linting to ensure code quality. - A makefile should include commands to launch the program and to run tests, format and clipply before committing as well other useful commands. - Completeness: The project must be completed fully. - Including a diagram or grammar in the Readme.md can facilitate understanding of the parsing logic. - Documentation: For each grammar rule, embed documentation in the code, ensuring that the documentation appears on docs.rs. - Publishing: Release the final version of the package on crates.io. - Error Handling: Implement proper error handling by using anyhow for tests and thiserror for the library.