|
1 | 1 |
|
2 | | -## Submit a New Task |
| 2 | +## Overview |
3 | 3 |
|
4 | | -To propose a new cognitive task for TaskBeacon: |
| 4 | +This repository serves two main purposes: |
5 | 5 |
|
6 | | -1. Push your task to a public GitHub repository. |
7 | | -2. Open a [new issue](https://github.com/taskbeacon/task-registry/issues/new/choose) using the “🧪 New Task Proposal” template. |
8 | | -3. An admin will review your submission and get in touch. |
| 6 | +1. **Task Indexing and Documentation**: It provides a centralized index of all tasks hosted under the TaskBeacon platform, rendered using [Sphinx](https://www.sphinx-doc.org/) with the [Furo](https://pradyunsg.me/furo/) theme for clean, readable documentation. |
9 | 7 |
|
| 8 | +2. **Community Task Proposals**: It acts as the entry point for researchers to propose new tasks via GitHub Issues, following a structured template and review process. |
| 9 | +> **Note**: If your task is a variant of an existing task, please submit it as a new branch in the original repository instead of creating a new task proposal. Variants can be added as branches like `variant/sst-audio`, etc. |
10 | 10 |
|
11 | 11 |
|
| 12 | +### Step-by-Step: Submitting a New Task to TaskBeacon |
| 13 | + |
| 14 | +#### 1. Make Sure Your Task Follows the TAPS Format |
| 15 | + |
| 16 | +Ensure your local task folder includes the standard TAPS structure: |
| 17 | + |
| 18 | +```arduino |
| 19 | +your-task/ |
| 20 | +├── assets/ |
| 21 | +├── config/ |
| 22 | +│ └── config.yaml |
| 23 | +├── src/ |
| 24 | +│ ├── main.py |
| 25 | +│ ├── run_trial.py |
| 26 | +│ └── utils.py # optional |
| 27 | +├── analysis/ |
| 28 | +│ └── analysis.py # optional |
| 29 | +├── data/ # empty or example output |
| 30 | +├── README.md # generated via task2doc or manually written |
| 31 | +``` |
| 32 | + |
| 33 | +You can scaffold this using: |
| 34 | +```bash |
| 35 | +psyflow init |
| 36 | +``` |
| 37 | + |
| 38 | +#### 2. Push to Your Own GitHub Repo (if not already) |
| 39 | +Create a public repository under your GitHub account (e.g., `stroop`), then push your files: |
| 40 | + |
| 41 | +```bash |
| 42 | +git init |
| 43 | +git remote add origin https://github.com/yourname/stroop.git |
| 44 | +git add . |
| 45 | +git commit -m "Initial version of emotional stroop task" |
| 46 | +git push -u origin main |
| 47 | +``` |
| 48 | + |
| 49 | +### 3. Go to the Task Submissions Repository |
| 50 | + |
| 51 | +Visit: |
| 52 | + |
| 53 | +```text |
| 54 | +https://github.com/taskbeacon/task-registry |
| 55 | +``` |
| 56 | + |
| 57 | +#### 4. Open a New Issue Using the Template |
| 58 | + |
| 59 | +- Click “New Issue” |
| 60 | +- Select **New Task Proposal** (if configured) |
| 61 | +- Fill in the form with: |
| 62 | + - Task name |
| 63 | + - Suggested repo name (e.g., `stroop`) |
| 64 | + - Short description of what the task measures |
| 65 | + - Link to your GitHub repo |
| 66 | + - Checkboxes for files included |
| 67 | + - Author and license info |
| 68 | + - Completion of the TAPS/psyflow checklist |
| 69 | + |
| 70 | +New task proposal form template: |
| 71 | + |
| 72 | +```markdown |
| 73 | +--- |
| 74 | +name: 🧪 New Task Proposal |
| 75 | +about: Propose a new cognitive task to be added to the TaskBeacon platform |
| 76 | +title: "[Task Proposal] <Task Name>" |
| 77 | +labels: new-task, review |
| 78 | +--- |
| 79 | + |
| 80 | + |
| 81 | +**Task Metadata** |
| 82 | + |
| 83 | +| Field | Value | |
| 84 | +|------------------------|---------------------------------------------| |
| 85 | +| **Task Name** | e.g., Stroop, Go/No-Go | |
| 86 | +| **Suggested Repo Name**| e.g., stroop | |
| 87 | +| **Short Description** | Briefly describe what this task measures | |
| 88 | +| **GitHub Repo URL** | https://github.com/username/task-name | |
| 89 | +| **Author(s)** | | |
| 90 | +| **License** | e.g., MIT, CC-BY-4.0 | |
| 91 | +| **References** | | |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +**Paradigm Summary** |
| 96 | + |
| 97 | +| Component | Description | |
| 98 | +|------------------------|---------------------------------------------| |
| 99 | +| Number of Blocks/Trials| e.g., 3 blocks × 60 trials | |
| 100 | +| Stimulus Type | e.g., words, images, video | |
| 101 | +| Response Modality | e.g., keyboard, mouse | |
| 102 | +| Feedback Provided? | Yes / No | |
| 103 | +| Adaptive Logic? | Yes / No (describe briefly if Yes) | |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +✅**Submission Checklist** |
| 108 | +- [ ] The task is not variant of existing tasks (if it is a variant, please add it as a variant through PR) |
| 109 | +- [ ] YAML configuration conforms to the TAPS structure |
| 110 | +- [ ] Task logic uses psyflow components |
| 111 | +- [ ] README includes configuration summary and methods |
| 112 | +- [ ] All necessary files and folders are included |
| 113 | +- [ ] The task is runable and tested locally |
| 114 | +``` |
| 115 | + |
| 116 | + |
| 117 | +#### 5. Wait for Admin Review |
| 118 | + |
| 119 | +A TaskBeacon admin will: |
| 120 | + |
| 121 | +- Review your task structure and documentation |
| 122 | +- Leave comments or suggestions |
| 123 | +- Approve and create a new official repository under the TaskBeacon organization |
| 124 | +-**Add you (the original author) as a collaborator** to the new repository, so you can continue maintaining and improving it |
| 125 | + |
| 126 | + |
| 127 | +Once live, your task becomes part of the open library. You can continue submitting: |
| 128 | +- Bug fixes or updates via pull requests |
| 129 | +- Variants as new branches (e.g., `variant/sst-audio`) |
0 commit comments