Skip to main content

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.

Browse the demo.

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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for create-atelier 0.2.0
File Size Uploaded Provenance Actions
create_atelier-0.2.0.tar.gz 333.2 kB Without provenance Details for create_atelier-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for create-atelier 0.2.0
File Interpreter ABI Platform Actions
create_atelier-0.2.0-py3-none-any.whl Python 3 none any Details for create_atelier-0.2.0-py3-none-any.whl

Total release size: 407.5 kB

Release files / create_atelier-0.2.0.tar.gz

Download URL create_atelier-0.2.0.tar.gz
Size 333.2 kB
Tags Source
SHA-256 checksum
How to use checksums
25d46d9d005fa2be90ccfd06a12b844d755d213ce7c14fc427346712cb5b683f
BLAKE2b-256 checksum
How to use checksums
c55b50a9b1e73866d45efdae1f79e2ddf24acaa55153d27eb5d255d60bae9676
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.0-py3-none-any.whl

Download URL create_atelier-0.2.0-py3-none-any.whl
Size 74.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c411747b630b2b00d147de3cde128b0a043ab6d4e34ca79585a7ae78ad1c92a
BLAKE2b-256 checksum
How to use checksums
5f4f45cc5b4efd73c5dfc7cb58009c0463274b52187335552529de4781d863be
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.0

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page