The routine.json configures the details of how your routine runs


As covered in concepts, a routine is a collection of files and tests (written for Mocha), that is executed on an interval.

This interval, and the rest of the routine configuration is specified in the routine.json file within the .asserted directory of a given repo.


This is what a typical routine.json file looks like after running asrtd init inside a given repo.

// Globally-unique Routine ID
"id": "rt-I5zgwerPGE",
// Globally-unique Project ID
"projectId": "p-1Hewr0s9Z",
// Routine Name (can be anything up to 30 characters)
"name": "my-routine",
// Routine Description (can be up to 100 characters)
"description": "some awesome description",
// Interval to run the routine on
"interval": {
"unit": "min",
"value": 5
// Version of the fixed dependencies included during the
// run.
// - "v1" is the only option for free plans
// - "custom" may be used for paid plans that require extra dependencies
"dependencies": "v1",
// Mocha-specific configuration
"mocha": {
"files": [
"ignore": [],
"bail": false,
"ui": "bdd"
// Overall timeout in seconds for this routine
"timeoutSec": 1


Updating the routine.json is the only way to modify the interval and other routine configuration parameters. They cannot be modified within the UI.

Updating is simple though, simply open the file in the text editor or IDE of your choice, make the modifications, and then run asrtd push using the CLI to push the latest routine code and configuration.