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:
- Press
Command + Space. - Type
Terminal. - 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
scixworkspace - this directory is where you want to do your
scixwork
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:
- Keep using the module form:
python3 -m scix up
- 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:
- create the
scixworkspace files - install
pyenvif needed - install Python
3.11 - create a local environment named
xenv/ - install
scixand the five science packages intoxenv/ - clone the five reference repositories into
repos/ - 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:
FileOpen Folder...- Select your
scixworkspace folder
Then open the built-in terminal in VS Code:
TerminalNew Terminal
Activate xenv there too:
source xenv/bin/activate
If the code command does not work in the Terminal, open VS Code and run:
Command Palette- Type
Shell Command: Install 'code' command in PATH - 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 askinteraandpydisortworkspace/: your own experiments, notes, notebooks, and rough workxenv/: the local Python environment for this workspaceai/: 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 syncafter each logical change; in the source repo it also refreshessrc/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ffd8284445d765ad99e836d6c5a040b32358c9c5475d1e7b56500b5ce47419b
|
|
| MD5 |
e78d55b3500f55bf6bc03a1a6c333f37
|
|
| BLAKE2b-256 |
975e8ead05fa7617703747d5db6913315b998c00c99232141b723deeb358ff08
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8514fbbb571c7acc98524663e4ac8f08b29aaa9e6af90f9b6dda66994ad40a7
|
|
| MD5 |
d089380777774c4f9f9b97bfc86d8dd5
|
|
| BLAKE2b-256 |
2c30bfa24ac9486e42d77451ed5a0e1caf3d01aaf8349cf012e2d5b46652d17e
|