What you end up with
Franco running in your browser, on your own computer. It is free, and it stays free — there is no account, no trial and no subscription at the end of this.
- Time
- About 71 minutes
- Steps
- 35
- Cost
- Free
Before you start
These are one-time installs. If you have used PowerShell before, you may have them already — the first step checks.
Install Git
Run the installer, then reopen PowerShell.
Open installerYou know this worked when: Git responds with a version number
Install Node LTS
Run the LTS installer, then reopen PowerShell.
Open downloadYou know this worked when: Node responds with a version number
Install Franco
Open PowerShell
Keep it open beside this page.
You know this worked when: PowerShell is open
Check Git and Node
Git and the current Node LTS are required.
Type this into PowerShell (not Command Prompt), then press Enter.
git --version node --versionYou know this worked when: Git and Node respond with version numbers
Install uv
Needs Python already installed.
Type this into PowerShell (not Command Prompt), then press Enter.
python -m pip install --user uvYou know this worked when: uv responds with a version number
Install Python
Run the installer, then reopen PowerShell.
Open downloadYou know this worked when: python3 --version prints a version
Copy Franco to this PC
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~ if [ ! -d franco/.git ]; then git clone https://github.com/GortexAI/franco.git fiYou know this worked when: A franco folder appears
Open the Franco folder
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~ cd francoYou know this worked when: Your terminal prompt is inside the franco folder
Use the reviewed version
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco git checkout dd22f6c5cc328c8c3473dbaf628c14df215bae42You know this worked when: Git reports the reviewed commit
Install dependencies
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco uv venv && uv pip install -r requirements.txt && uv run python -m playwright install chromiumYou know this worked when: The command finishes without an error
Get a GMAIL_CLIENT_SECRET key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set GMAIL_CLIENT_SECRET.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has GMAIL_CLIENT_SECRET set
Get a SMTP_PASSWORD key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set SMTP_PASSWORD.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has SMTP_PASSWORD set
Get a IMAP_PASSWORD key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set IMAP_PASSWORD.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has IMAP_PASSWORD set
Get a INSTANTLY_API_KEY key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set INSTANTLY_API_KEY.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has INSTANTLY_API_KEY set
Get a LINKEDIN_PASSWORD key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set LINKEDIN_PASSWORD.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has LINKEDIN_PASSWORD set
Get a CLOUDFLARE_API_TOKEN key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set CLOUDFLARE_API_TOKEN.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has CLOUDFLARE_API_TOKEN set
Get a REOON_API_KEY key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set REOON_API_KEY.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has REOON_API_KEY set
Get a ZEROBOUNCE_API_KEY key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set ZEROBOUNCE_API_KEY.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has ZEROBOUNCE_API_KEY set
Get a HUNTER_API_KEY key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set HUNTER_API_KEY.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has HUNTER_API_KEY set
Get a DATAFORSEO_PASSWORD key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set DATAFORSEO_PASSWORD.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has DATAFORSEO_PASSWORD set
Get a SERPER_API_KEY key
Sign in, create a key, and copy it.
Open the pageYou know this worked when: You have a key on your clipboard
Copy the env file
Then open .env and set SERPER_API_KEY.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco Copy-Item .env.example .envYou know this worked when: .env has SERPER_API_KEY set
Run Franco
Keep PowerShell open.
Type this into PowerShell (not Command Prompt), then press Enter. The first line moves you into the folder this step runs in, so it works in a window you have just opened.
cd ~/franco uv run franco dashboardYou know this worked when: localhost:5555 responds
Open it in your browser
If a different port was picked, open that one instead.
Open localhost:5555You know this worked when: The app loads in the browser
Try it
Franco should be open in your browser.
You know this worked when: Franco works
If something goes wrong
Nothing here can damage your computer, and every step can be run again safely. If a command fails, the usual cause is the step before it not having finished.
Still stuck? Tell us what happened and we will fix the guide. Include the step number and we can usually reproduce it.