├── modules/ # home for various features
├── modules/src/ # code goes here
├── modules/tests/ # tests go here
├── data/ # home for shared data
├── templates/ # for sending structured messages
├── CONTRIBUTING.md # contributing guidelines
└── dude.py # the main bot
To add a new module, follow these steps:
- Fork the repo
- Create a new branch (
git checkout -b my-new-feature
) - Add a new file in
modules/src/
folder (defineprocess
function) - Add some tests in
modules/tests/
folder - Add the module name in
src/__init__.py
- Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a Pull Request
Kindly note that your tests may fail initially as I'll have to configure api.ai to handle these new types of queries. Just include some sample queries in your PR's description for the initial training.
To fix a bug or enhance an existing module, follow these steps:
- Fork the repo
- Create a new branch (
git checkout -b improve-feature
) - Make the appropriate changes in the required file in
modules/src/
folder - Add / Edit tests in
modules/tests/
folder to reflect the changes made (run them locally withpy.test
) - Commit your changes (
git commit -am 'Improve feature'
) - Push to the branch (
git push origin improve-feature
) - Create a Pull Request
If you find a bug (the bot couldn't handle the query and / or gave irrelevant results), kindly open an issue here by including your search query and the expected result.
If you'd like to request a new functionality, feel free to do so by opening an issue here including some sample queries and their corresponding results.
Keep the code as simple as possible, and your changes as fun as possible!