<commit_before># Development inside an SMC project

Scripts for doing development of SMC inside of an SMC project.

**Requirement:** 1.5GB RAM and 1GB disk space

## The servers

Explicitly start each of the following scripts in their own terminal session (they will run in the foreground).  Make sure to set the environment with `source smc-env` first:

- `./start_postgres.py`

- `./start_webpack.py`

- `./start_hub.py`

## Docker-only special instructions

If you're using the [CoCalc Docker image](https://github.com/sagemathinc/cocalc/blob/master/src/dev/docker/README.md), run the script `./start_hub_in_docker.py` instead.  This is the same except that it listens on localhost instead.  (It's also critical that you're using Docker via https, not http.)

## Information

Type `./info.py` to get the URL where you can reach your own running copy of SMC.  This is accessible precisely to collaborators on your project and **nobody** else.<commit_msg>dev/project: made a note about running the setup step first<commit_after># Development inside an SMC project

Scripts for doing development of SMC inside of an SMC project.

**Requirement:** 1.5GB RAM and 1GB disk space

## Setup

Run `npm run make` inside the `src/` subdirectory.
This will install all the dependencies and does some additional setup.

If you ever need to update dependencies or think there is a problem with them,
just run `npm run clean` to get rid of them and run `npm run make` again.

## The servers

Explicitly start each of the following scripts in their own terminal session (they will run in the foreground).  Make sure to set the environment with `source smc-env` first:

- `./start_postgres.py`

- `./start_webpack.py`

- `./start_hub.py`

## Docker-only special instructions

If you're using the [CoCalc Docker image](https://github.com/sagemathinc/cocalc/blob/master/src/dev/docker/README.md), run the script `./start_hub_in_docker.py` instead.  This is the same except that it listens on localhost instead.  (It's also critical that you're using Docker via https, not http.)

## Information

Type `./info.py` to get the URL where you can reach your own running copy of SMC.  This is accessible precisely to collaborators on your project and **nobody** else.
{'fraction_non_alphanumeric': 0.08418708240534521, 'fraction_numerical': 0.0026726057906458797, 'mean_word_length': 4.151376146788991, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4496819', 'n_tokens_mistral': 663, 'n_tokens_neox': 625, 'n_words': 305}