Skip to main content

PyPI-first scaffold for a dual Codex and Claude science workspace.

Project description

scix

scix creates a science-oriented workspace that is ready for both Codex CLI and Claude Code. You install scix once, run scix up inside a new empty folder, and it builds the workspace for you.

What scix does

scix sets up:

  • a shared AI policy system for Codex and Claude
  • a repos/ folder for cloned reference repositories
  • a workspace/ folder for your own scripts, models, experiments and notes
  • a local Python environment named xenv/
  • generated AGENTS.md, CLAUDE.md, skills, hooks, and tool configs

Who this is for

This README assumes:

  • you are new to AI tools
  • you are new to the Terminal
  • you are new to VS Code

Before you begin

You need:

  • a macOS or Linux machine
  • a GitHub account
  • a PyPI-accessible Python install that can run pip install scix
  • Codex CLI installed if you want to use Codex
  • Claude Code installed if you want to use Claude

If you are using macOS and have never opened the Terminal:

  1. Press Command + Space.
  2. Type Terminal.
  3. Press Return.

Quick start

This quick start is for a brand new working folder. If you cloned the scix source repository, skip to Developers / Contributors instead.

Create a brand new empty folder, then move into it:

mkdir my-scix-work
cd my-scix-work

Install scix:

python3 -m pip install --user scix

Run the setup command:

python3 -m scix up

scix will ask you to confirm that:

  • the current directory should become your scix workspace
  • this directory is where you want to do your scix work

If the folder is not empty, scix up stops by default. That is intentional.

If the short scix command already works in your shell, scix up is the same thing as python3 -m scix up.

If scix says "command not found"

This usually means Python installed the scix command into your user scripts directory, but that directory is not on your shell PATH yet.

Two safe fixes:

  1. Keep using the module form:
python3 -m scix up
  1. Or add the user scripts directory to your shell path on Ubuntu or Debian:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

After scix up runs, it also tries to add your user-level Python scripts directory to your shell startup file automatically. Open a new terminal after setup if the short scix command still does not appear right away.

What scix up will do

It will:

  1. create the scix workspace files
  2. install pyenv if needed
  3. install Python 3.11
  4. create a local environment named xenv/
  5. install scix and the five science packages into xenv/
  6. clone the five reference repositories into repos/
  7. generate Codex and Claude config files

Activate the local Python environment

After setup finishes, activate the environment with:

source xenv/bin/activate

When it is active, your Terminal prompt usually changes. From then on, Python and pip commands use the local environment inside this workspace.

Install Codex CLI if needed

If codex is missing on Ubuntu or Debian, install it with:

sudo apt install npm
sudo npm install -g @openai/codex

sudo means the command uses administrator permission. Your machine may ask for your password.

Log into Codex

Open a Terminal in your scix workspace and run:

codex login

If you are using an API key instead of the normal login flow:

printenv OPENAI_API_KEY | codex login --with-api-key

If you are in an SSH terminal, first enable device code authorization in ChatGPT Security Settings. Then use:

codex login --device-auth

Some Codex CLI versions use a flag-style login command instead of the subcommand form. If codex login is rejected on your installed version, check codex --help and use the login form shown there.

Log into Claude

Open a Terminal in your scix workspace and run:

claude auth login

If you use a long-lived token flow:

claude setup-token

Use VS Code

If Visual Studio Code is installed, open it and choose:

  1. File
  2. Open Folder...
  3. Select your scix workspace folder

Then open the built-in terminal in VS Code:

  1. Terminal
  2. New Terminal

Activate xenv there too:

source xenv/bin/activate

If the code command does not work in the Terminal, open VS Code and run:

  1. Command Palette
  2. Type Shell Command: Install 'code' command in PATH
  3. Press Return

After that, you can open the current folder from Terminal with:

code .

Start Codex or Claude inside VS Code

From the VS Code terminal:

codex

or:

claude

Important folders

  • repos/: cloned reference repos such as kintera and pydisort
  • workspace/: your own experiments, notes, notebooks, and rough work
  • xenv/: the local Python environment for this workspace
  • ai/: the shared rules and templates that generate Codex and Claude files

Helpful commands

Regenerate all Codex and Claude files:

scix sync

If the short scix command is still missing in your current shell, every command above also works in module form:

python3 -m scix sync
python3 -m scix doctor
python3 -m scix install-repos

Check whether the workspace is healthy:

scix doctor

Clone any missing reference repositories again:

scix install-repos

Developers / Contributors

If you want to work on scix itself, do not start from pip install scix. Clone the source repository instead:

git clone https://github.com/zoeyzyhu/scix.git
cd scix
./scripts/dev-up.sh

./scripts/dev-up.sh is the contributor bootstrap for a cloned source repo. It keeps the existing source files in place, creates any missing workspace files, creates xenv/, installs scix in editable mode with developer dependencies, installs the science packages, clones missing reference repos, installs Git hooks, and regenerates the generated Codex and Claude files.

It also handles a fresh-clone case where the system Python does not have project dependencies such as PyYAML. In that situation, ./scripts/dev-up.sh bootstraps xenv/ first and then re-enters the normal contributor flow from inside xenv/.

Before you change shared agent behavior, read docs/AI_FOLDER_GUIDE.md. That guide explains what the repo-root ai/ folder controls, how it maps to generated agent files, which files are safe to edit, and the main reliability and safety risks.

After that, activate the environment:

source xenv/bin/activate

If you want to install the Git hooks yourself again later, run:

xenv/bin/pre-commit install

--skip-python is intended for later reruns after xenv/ already exists. Do not use it for the first contributor bootstrap on a fresh clone.

To run all contributor checks locally:

xenv/bin/pre-commit run --all-files
pytest
python -m build
scix sync --check

When you change the AI canon, keep these rules in mind:

  • edit the repo-root ai/ files, not generated files under .codex/, .claude/, .agents/, or repo overlays
  • run scix sync after each logical change; in the source repo it also refreshes src/scix/assets/template_root/ai/ for packaged installs
  • inspect both the generated agent diff and the packaged template diff before you commit
  • keep hooks portable and auditable, and never place secrets in prompt files or scripts
  • prefer narrow prompt and routing changes over large rewrites

The contributor path is separate on purpose:

  • end users should still create a fresh folder and run python3 -m scix up
  • contributors should clone the repo and run ./scripts/dev-up.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scix-0.1.1.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scix-0.1.1-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file scix-0.1.1.tar.gz.

File metadata

  • Download URL: scix-0.1.1.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scix-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2ffd8284445d765ad99e836d6c5a040b32358c9c5475d1e7b56500b5ce47419b
MD5 e78d55b3500f55bf6bc03a1a6c333f37
BLAKE2b-256 975e8ead05fa7617703747d5db6913315b998c00c99232141b723deeb358ff08

See more details on using hashes here.

File details

Details for the file scix-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: scix-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scix-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8514fbbb571c7acc98524663e4ac8f08b29aaa9e6af90f9b6dda66994ad40a7
MD5 d089380777774c4f9f9b97bfc86d8dd5
BLAKE2b-256 2c30bfa24ac9486e42d77451ed5a0e1caf3d01aaf8349cf012e2d5b46652d17e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page