This file contains a few simple ideas to help contributors get started with the project. You can choose to complete one, two, or all of them in a single Pull Request!
Note
For all of these ideas, you are fully allowed to use AI to help you write code or translate!
Currently, the CLI prompts have some typos and mix English with French. To keep the project consistent and accessible to everyone, all prompts should be correctly written in English.
Tasks:
- Go through the files in the
commands/directory andmain.py. - Correct any typos in the
input()andprint()statements. - Translate any remaining French prompts into English.
The README.md instructs users to install dependencies by running pip install -r requirements.txt. However, this file is currently missing from the repository.
Tasks:
- Create a
requirements.txtfile at the root of the project. - Add the
cryptographypackage to the file. - Verify that running
pip install -r requirements.txtworks successfully.
We want to improve the user experience by automatically loading the key if key.txt already exists in the folder.
Tasks:
- Check if
key.txtexists when the application starts or when running commands. - If it exists, read the key and use it automatically so the user doesn't have to type it again.
- If it doesn't exist, keep the current behavior (ask the user or prompt to generate one).
- Update the commands (
add.py,decrypt.py) to use this automatically loaded key.
To put a codebase in Japanese, we need to create a proper structure for it.
Tasks:
- Create another folder specifically for the Japanese codebase (e.g.,
japanese/). - Move or duplicate necessary codebase files into this new folder.
- Ensure the project can cleanly support multiple codebase languages.
Make sure the application runs correctly on macOS without any errors, especially regarding system commands.
Tasks:
- Test the application on macOS.
- Update
system_info.pyor other files to handle macOS properly.
Instead of only using the cryptography library, implement a custom encryption algorithm for learning and extended features.
Tasks:
- Design and implement a new custom encryption algorithm.
- Integrate it into the codebase as an option alongside
Fernet.