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 works with both Codex CLI and Claude Code.

Table of Contents

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
  • generated AGENTS.md, CLAUDE.md, skills, hooks, and tool configs

scix does not create Python environments for you. You create xenv/ yourself, activate it, install packages into it, and then run scix up.

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 Python version >= 3.9
  • an internet connection if you want scix up or scix dev to install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code automatically

If you need a newer Python, Python 3.11 is the recommended version.

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

Check your Python version:

python3 --version

Create and activate xenv/:

python3 -m venv xenv
source xenv/bin/activate

Upgrade pip and install scix plus the reference packages:

python -m pip install --upgrade pip
python -m pip install scix
python -m pip install pydisort pyharp kintera snapy paddle

Run the workspace setup command:

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. A pre-existing xenv/ directory is fine.

If the short scix command does not work in this shell, make sure xenv/ is activated and run:

python -m scix up

What scix up will do

It will:

  1. create the scix workspace files
  2. clone the five reference repositories into repos/
  3. generate Codex and Claude config files
  4. install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code

Activate the local Python environment

Whenever you return to this workspace, activate the environment again:

source xenv/bin/activate

When it is active, Python and pip commands use the local environment inside this workspace.

Install Codex and Claude CLIs if needed

scix up and scix dev try to install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code automatically.

If that automatic step fails, run this exact fallback sequence yourself:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install --lts
nvm use --lts
nvm alias default lts/*
npm install -g @openai/codex
npm install -g @anthropic-ai/claude-code

If codex or claude is still missing afterwards, open a new shell or run:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

Alternative installation details are documented in the official Codex CLI and Claude Code guides:

Log into Codex

Once codex is installed, 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

Once claude is installed, open a Terminal in your scix workspace and run:

claude auth login

If you use a long-lived token flow:

claude setup-token

If you 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 .

From the VS Code terminal:

codex

or:

claude

If you prefer to work from the editor UI instead of the terminal, you can also install these VS Code extensions and use them from the Extensions view or editor sidebar:

  • Claude Code for VS Code by Anthropic
  • Codex - OpenAI's coding agent by OpenAI

Important folders

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

Helpful commands

Regenerate all Codex and Claude files:

scix sync

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
python3 --version
python3 -m venv xenv
source xenv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[dev]
python -m pip install pydisort pyharp kintera snapy paddle
scix dev

scix dev is the contributor bootstrap for a cloned source repo. It keeps the existing source files in place, creates any missing workspace files, optionally clones missing reference repos, and regenerates the generated Codex and Claude files. It does not create xenv/ or install Python packages for you, but it does try to install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code automatically.

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.

Install Git hooks with:

xenv/bin/pre-commit install

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
  • implementation work now follows an explicit implementer -> tester -> reviewer workflow
  • 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, create xenv/, install packages, and run scix up
  • contributors should clone the repo, create xenv/, install .[dev], and run scix dev

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.13.post0.tar.gz (50.9 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.13.post0-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file scix-0.1.13.post0.tar.gz.

File metadata

  • Download URL: scix-0.1.13.post0.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for scix-0.1.13.post0.tar.gz
Algorithm Hash digest
SHA256 eab6d87e73c5c55ef0faf4207bd24b612a0bbd3fcf0ea68cca5afd356dd8cac9
MD5 b01cb6a142558bb9dc75b7c55b21b3d4
BLAKE2b-256 b73f862bebb21fcd05f213a404b55e262763b312dd2f52f266ac2a721e3aaf5f

See more details on using hashes here.

File details

Details for the file scix-0.1.13.post0-py3-none-any.whl.

File metadata

  • Download URL: scix-0.1.13.post0-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for scix-0.1.13.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 81b43de73ad4d9fc507650d86c994988ab6f015def5145e743f03c338c079ce0
MD5 a493034881acd5aef6f944f88aaa7f19
BLAKE2b-256 98b00b5b862d65404ff1c8112beab7523c8d68ec8808d0f4dff3dd0510ec1ffb

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