Atelier
Atelier is a starter for research with coding agents. Keep the question, experiment, results, and conclusion linked in one Git repository. Agent work records give people a short summary and the next agent enough context to continue.
This is an early release; the file conventions are still being tested.
What gets created
create-atelier is needed only to create a project or resume its creation
walkthrough. After that, the project carries its own skills, file contracts, and
lint helper under .agents/skills/. Read those files or ask your coding agent to
use them. The generator is not a runtime dependency.
Specs define valid files, skills guide the work, and the lint skill checks the record. The optional browser reader displays it. You can run the example without a coding agent.
Try it
Requires Python 3.11+, uv, and Git. Create a project:
uvx create-atelier my-research --no-setup
cd my-research
uv sync
git add .
git commit -m "Initialize research project"
uv run --locked python experiments/exp-001/analyze.py
uv run python -c "import polars as pl; print(pl.read_parquet('experiments/exp-001/summary.parquet'))"
The example estimates a mean from synthetic observations. Inspect
experiments/exp-001/summary.parquet for how error changes with sample size.
The source revision and inputs are in
experiments/exp-001/provenance.json. This demonstrates the workflow; it makes
no claim about real-world systems.
For the optional figure, install Node.js 22+ and run npm install && npm run figure
inside my-research. Open figures/cache/mean.svg.
Omit --no-setup for a walkthrough that offers dependency installation, optional
figure tools, Hugging Face storage, and a first commit and push. Remote repositories
default to private; creation and upload require confirmation. Local work needs no
remote account. Resume with uvx create-atelier --resume ..
See the generated project's README for setup details.
Work inside the generated project
Start with docs/design.md: replace the example question with your hypothesis
and tasks. Use your editor or coding agent to change the experiment configuration
and analysis in experiments/exp-001/. Commit the inputs, run the experiment,
inspect its results, and link the evidence when proposing a conclusion in the
design document.
The generated AGENTS.md points to the project skills: task coordination,
writing, code review, figures, and lint. For substantial work, keep
agents/work/<task>.md current: a TL;DR at the top, followed by an append-only
log of inputs, attempts, results, decisions, and next steps. Optional branch refs
and commit hashes link the work to its code changes. See work records.
The files remain usable without the generator or a particular frontend. Markdown holds documents; YAML holds configuration and discussions; Parquet holds tables. Each experiment records its inputs and source revision to help another person or agent reproduce it. See the file conventions when adapting the example.
Update an existing project
The generator refuses an existing destination. To adopt newer skills, generate a
separate temporary project, compare its .agents/skills/ with yours, and commit
the changes you choose. Preserve local conventions and work records. There is no
automatic upgrade or requirement to update old projects.
Read and review
The browser reader opens an Atelier stored on Hugging Face. It shows documents, agent work, experiments, and figures without running repository code. The separate frontend package also reads local working trees and builds a static site.
Use the generated atelier-lint skill to check a project:
cd /path/to/research
uv run .agents/skills/atelier-lint/scripts/lint.py . --programmatic
Omit --programmatic to add agent reviews of writing, code design, and figures.
The script declares its dependencies for uv. Full review requires an authenticated
Codex or Claude Code CLI and sends review
content through that CLI to its model provider. These checks
inspect the record; they do not establish that a scientific conclusion is true.
Lint neither runs the experiment nor applies fixes. See lint coverage and reports.
Develop Atelier
From a source checkout:
uv run python -m unittest discover -s tests
uv build
In src/create_atelier/, cli.py generates projects, setup.py handles the
creation walkthrough, and template/ holds copied files. The atelier-lint
skill inside that template owns its references/ contracts and scripts/ checks. The independent frontend/ package has its own
instructions and tests. Read the shared development plan
before claiming work.
Licensed under Apache-2.0. Generated projects include the license and attribution; vendored libraries retain their own licenses.
Metadata
Release files for create-atelier 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| create_atelier-0.2.1.tar.gz | 337.2 kB | Without provenance | Details for create_atelier-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| create_atelier-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for create_atelier-0.2.1-py3-none-any.whl |
Total release size: 412.8 kB
Release files / create_atelier-0.2.1.tar.gz
| Download URL | create_atelier-0.2.1.tar.gz |
|---|---|
| Size | 337.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e1cff79d17884416f730eb0c1e9991a92a5feaf7c6dbb3c417d6850ff53ff0b
|
|
BLAKE2b-256 checksum How to use checksums |
856554dc8b4c93c7ee3c95c2e3554c9bca7207042376fad863f4968502257cbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / create_atelier-0.2.1-py3-none-any.whl
| Download URL | create_atelier-0.2.1-py3-none-any.whl |
|---|---|
| Size | 75.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ce5e51b7b77034e6c4eb34ae8f546922d627b5a468b791fa7a5f2e83f185d73
|
|
BLAKE2b-256 checksum How to use checksums |
895cde939928e7fcb0775df82bc02b62ab34d461e602cb3edb56901cff8e2983
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for create-atelier 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.