Skip to content

prolific-oss/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Prolific CLI

A command-line interface for Prolific


GitHub Badge

CLI application for getting information out of Prolific about your research studies.

This CLI is an experimental, open, proof of concept project from engineers at Prolific. As such, there may be discrepancies with the Prolific API.

CLI application for retrieving data from the Prolific Platform

Usage:
  prolific [command]

Available Commands:
  campaign     Provide details about your campaigns
  completion   Generate the autocompletion script for the specified shell
  credentials  Manage credential pools
  filter-sets  Manage and view your filter sets
  help         Help about any command
  hook         Manage and view your hook subscriptions
  message      Send and retrieve messages
  participant  Manage and view your participant groups
  project      Manage and view your projects in a workspace
  requirements List all eligibility requirements available for your study
  studies      List all of your studies
  study        Manage and view your studies
  submission   Manage and view your study submissions
  whoami       View details about your account
  workspace    Manage and view your workspaces

Flags:
      --config string   config file (default is $HOME/.config/prolific-oss/prolific.yaml)
  -h, --help            help for prolific
  -v, --version         version for prolific

Use "prolific [command] --help" for more information about a command.

List view of studies

Detail view of a study

Main features include:

  • Ability to list and filter studies.
  • Ability to list submissions for a given study.
  • Ability to list studies and define which fields to do display in a table format.
  • Ability to render details about a study, and the submissions.
  • Ability to create and update credential pools for studies requiring authentication.
  • Ability to download credentials usage report for a study as CSV.
  • Ability to create a Study via a YAML/JSON configuration file.
  • Ability to publish a study whilst creating it (if you have sufficient funds).
  • Ability to silently create a study, meaning you can script creating many studies in one go.
  • Ability to get your user account details.
  • Ability to list your hook subscriptions.
  • Ability to send and retrieve messages.
  • Ability to list and view your filter sets
  • Ability to list and view your participant groups

Checkout the wiki for more tips and tricks.

Requirements

If you are wanting to build and develop this, you will need the following items installed. If, however, you just want to run the application I recommend using a binary (See below).

Configuration

You can create studies via a configuration file. See some examples in /docs/examples. It's one study per file.

You can then create a study by calling:

prolific study create -t docs/examples/standard-sample.yaml

You can also define some defaults in the configuration file: $HOME/.config/prolific-oss/prolific.yaml.

Currently you can define the following:

workspace: xxxxxxxxxx

Environment variables

You will need the following environment variables defining:

export PROLIFIC_TOKEN=""

You can create a Researcher token in your account.

You can optionally override the URL for the API too. This will be set as default to the Prolific API URL. You can override this if Prolific have granted you access to a different environment.

export PROLIFIC_URL="https://api.prolific.com"

Installation

You can install this application a few ways:

Installation via Git
git clone https://github.com/prolific-oss/cli.git
cd cli
make all
./prolific

You can also install into your $GOPATH/bin by running make build && go install.

Installation via Binaries

You can download the binaries from the release pages. Find the release you want, and check the "Assets" section.

Once downloaded, be sure to put the binary in a folder that is referenced in your $PATH.

Installation via Go Install
go install github.com/prolific-oss/cli/cmd/prolific@latest

Development with Claude Code

When implementing new CLI commands, use the structured planning template:

1. Create Your Plan

Duplicate the template and fill in the details for your command:

cp .claude/templates/cli-command-plan.md {TICKET-NUMBER}-{resource}-{command}.md

2. Fill in the Template

Update the template with:

  • Command type (LIST/VIEW/CREATE/UPDATE/ACTION)
  • API contract (Bruno file path or inline spec)
  • Required flags
  • Implementation details

3. Execute with Claude Code

Run Claude Code with your plan file:

claude

Then reference your plan:

@{TICKET-NUMBER}-{resource}-{command}.md now do as it says

Claude will follow the structured checklist to implement the model, client, command, UI renderers, mocks, and tests.

Release Process

Releases are managed via GitHub Releases and automated CI/CD.

1. Update CHANGELOG.md

Add your changes to the CHANGELOG.md file under a new version section (e.g., ## 0.0.58).

2. Create a GitHub Release

  1. Go to Releases
  2. Click "Draft a new release"
  3. Create a new tag matching the version (e.g., v0.0.58)
  4. Title the release with the version number
  5. Publish the release

3. Automated Build

The release workflow automatically:

  • Builds binaries for multiple platforms (darwin, linux, windows, freebsd)
  • Uploads binaries to the GitHub Release as assets

Users can then download binaries from the release page or use go install.

About

🔬 A CLI application to get some data out of Prolific

Resources

License

Stars

Watchers

Forks

Contributors 12

Languages