From 09656120b45b1975bd93f5feedabbdc723117511 Mon Sep 17 00:00:00 2001 From: varun646 Date: Tue, 27 Aug 2024 10:18:04 -0400 Subject: [PATCH 1/3] add questionnaire doc --- docs/questionnaire.md | 98 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/docs/questionnaire.md b/docs/questionnaire.md index e69de29..be3257c 100644 --- a/docs/questionnaire.md +++ b/docs/questionnaire.md @@ -0,0 +1,98 @@ +# Project Template Setup + +This project template helps configure and scaffold your experiment web applications with various customizable options. After answering a few prompts, the template will automatically generate and set up your project according to your selections. + +## Prompts and Their Usage + +### 1. `project_name` +- **Type**: `string` +- **Prompt**: What is your project name? +- **Description**: This will be the name of your project directory and will be used throughout the setup process. +- **Validation**: The project name cannot be empty. + +### 2. `project_type` +- **Type**: `string` +- **Prompt**: Which project do you want to configure your webapp with? +- **Description**: Choose the type of experiment you wish to build. This will scaffold the necessary files and logic for the selected. experiment type. +- **Choices**: + - Basic + - Blank + - JsPsych - Stroop + - JsPsych - RDK + - SweetBean + - SuperExperiment + - *HTML Button* + - *Reaction Time* + - *Multi Choice Survey* + - *Multi Select Survey* + - *Save Trial Parameters* + - *Lexical Decision* + - *Pause/Unpause* + - *Canvas Slider Response* + +- **Note**: Experiments labeled in *italics* require internet connection as they are pulled from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) + +### 3. `theorists` +- **Type**: `multiselect` +- **Prompt**: Which theorists would you like to install? +- **Choices**: + - None + - autora[theorist-darts] + - autora[theorist-bms] + - autora[theorist-bsr] +- **Default**: `None` +- **Description**: Choose one or more theorists to integrate with your experiment. These are optional dependencies, allowing you to add specific theorist modules to the project. +- **Validation**: You cannot select `None` along with other options. + +### 4. `experimentalists` +- **Type**: `multiselect` +- **Prompt**: Which experimentalists would you like to install? +- **Choices**: + - None + - autora[experimentalist-inequality] + - autora[experimentalist-novelty] + - autora[experimentalist-nearest-value] + - autora[experimentalist-model-disagreement] + - autora[experimentalist-uncertainty] + - autora[experimentalist-leverage] + - autora[experimentalist-falsification] + - autora[experimentalist-mixture] + - autora[experimentalist-prediction-filter] +- **Default**: `None` +- **Description**: Select one or more experimentalist modules to include in your project. These are additional tools that help design and analyze experiments. +- **Validation**: Similar to the theorists, you cannot select `None` with other options. + +### 5. `firebase` +- **Type**: `bool` +- **Prompt**: Would you like to set up a firebase experiment? +- **Default**: `false` +- **Description**: If `True`, this will set up the codebase to get conditions and save data to firebase. Further setup will be required for all configuration to be complete. + +### 6. `docker` +- **Type**: `bool` +- **Prompt**: Would you like to use Docker for deployment? +- **Default**: `True` +- **Description**: If `True`, Docker configuration files will be included along with appropriate documentation for setup and use, making your project easy to containerize and deploy. + +### 7. `actions` +- **Type**: `bool` +- **Prompt**: Would you like to set up GitHub Actions for deployment? +- **Default**: `True` +- **Description**: If `True`, GitHub Actions configuration files will be set up for deployment to servers and to automate CI/CD for your project. Appropriate documentation will also be generated. + +## Post-Generation Setup + +After generating the project, the following tasks will be automatically executed: + +1. **Dynamic File Creation**: + - Depending on the chosen `project_type`, if needed, code will be scraped from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) and saved locally. + +2. **File Cleanup**: + - The template's hook files will be removed post-setup for a clean project structure. + +3. **Frontend Setup**: + - The `experiment-ui` directory will have dependencies installed via `npm`, and a linter will be run to ensure code quality. + +## Additional Notes + +- Firebase setup will require additional credentials and configuration on your part. Documentation for this setup is available [here](https://autoresearch.github.io/autora/online-experiments/firebase/#firebase-project-setup) From e358d60f8765389ea0cd68921c904b908ca36d18 Mon Sep 17 00:00:00 2001 From: varun646 Date: Tue, 27 Aug 2024 11:07:09 -0400 Subject: [PATCH 2/3] Update questionnaire.md --- docs/questionnaire.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/questionnaire.md b/docs/questionnaire.md index be3257c..fc202bc 100644 --- a/docs/questionnaire.md +++ b/docs/questionnaire.md @@ -21,16 +21,16 @@ This project template helps configure and scaffold your experiment web applicati - JsPsych - RDK - SweetBean - SuperExperiment - - *HTML Button* - - *Reaction Time* - - *Multi Choice Survey* - - *Multi Select Survey* - - *Save Trial Parameters* - - *Lexical Decision* - - *Pause/Unpause* - - *Canvas Slider Response* - -- **Note**: Experiments labeled in *italics* require internet connection as they are pulled from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) + - *HTML Button\** + - *Reaction Time\** + - *Multi Choice Survey\** + - *Multi Select Survey\** + - *Save Trial Parameters\** + - *Lexical Decision\** + - *Pause/Unpause\** + - *Canvas Slider Response\** + +- **Note**: Experiments labeled in *italics* with an asterisk require internet connection as they are pulled from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) ### 3. `theorists` - **Type**: `multiselect` From 16919a2a7d703362a5c5c08c8db416743e8e274b Mon Sep 17 00:00:00 2001 From: varun646 Date: Tue, 27 Aug 2024 11:13:01 -0400 Subject: [PATCH 3/3] added links to existing autora docs --- docs/questionnaire.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/questionnaire.md b/docs/questionnaire.md index fc202bc..04947b7 100644 --- a/docs/questionnaire.md +++ b/docs/questionnaire.md @@ -30,7 +30,7 @@ This project template helps configure and scaffold your experiment web applicati - *Pause/Unpause\** - *Canvas Slider Response\** -- **Note**: Experiments labeled in *italics* with an asterisk require internet connection as they are pulled from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) +- **Note**: Experiments labeled with an asterisk (\*) require internet connection as they are pulled from [JsPsych's GitHub Repo](https://github.com/jspsych/jsPsych/tree/main/examples) during the project generation ### 3. `theorists` - **Type**: `multiselect` @@ -41,7 +41,7 @@ This project template helps configure and scaffold your experiment web applicati - autora[theorist-bms] - autora[theorist-bsr] - **Default**: `None` -- **Description**: Choose one or more theorists to integrate with your experiment. These are optional dependencies, allowing you to add specific theorist modules to the project. +- **Description**: Choose one or more theorists to integrate with your experiment. These are optional dependencies, allowing you to add specific theorist modules to the project. You can read more about theorists and their role in the AutoRA workflow [here](https://autoresearch.github.io/autora/theorist/) - **Validation**: You cannot select `None` along with other options. ### 4. `experimentalists` @@ -59,7 +59,7 @@ This project template helps configure and scaffold your experiment web applicati - autora[experimentalist-mixture] - autora[experimentalist-prediction-filter] - **Default**: `None` -- **Description**: Select one or more experimentalist modules to include in your project. These are additional tools that help design and analyze experiments. +- **Description**: Select one or more experimentalist modules to include in your project. These are additional tools that help design and analyze experiments. You can read more on experimentalists and their role in the AutoRA workflow [here](https://autoresearch.github.io/autora/experimentalist/) - **Validation**: Similar to the theorists, you cannot select `None` with other options. ### 5. `firebase`