Pre-load Devbox environment in container entrypoints for LLM agents and CI/CD

Đang mở
#2,797 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
cli, devtools, infrastructure

Hướng nghiên cứu

The issue does not identify implementation files or tests. Start by reading the existing devbox shell, devbox run, and container entrypoint code to understand how the environment is constructed and applied. The requested alternatives span CLI behavior, container startup, and environment export; done means a chosen approach reliably makes the Devbox environment available to non-interactive processes.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

feature p3 processed triage
What problem are you trying to solve?

I want to run automated scripts or agents inside a Devbox-managed container where dependencies installed via devbox.json are immediately available in PATH—without requiring an interactive devbox shell session.
Currently, when launching a container (e.g., via devbox run or Docker), the environment variables and PATH modifications from Devbox are not applied unless the process runs inside an interactive Devbox shell. This breaks headless/automated workflows like CI jobs, LLM agents, or background services that need project-specific tools (e.g., go, python, node, custom binaries) available at startup.
Specifically, I'm building agentbox, where an LLM agent runs inside a container and needs immediate access to the project's toolchain to execute, test, or debug code. Having to manually enter devbox shell first defeats the purpose of an autonomous, reproducible environment.

What solution would you like?

Add support for non-interactive environment activation in Devbox containers. Specifically:

  1. devbox shell -c "<command>" (similar to bash -c) or similar flag that executes a command with the full Devbox environment (PATH, env vars, etc.). This is differs from commands from "devbox run" because thery are not defined in the devbox.json file.
  2. Container entrypoint option: Allow specifying a command in devbox.json or via CLI that runs automatically with the environment pre-loaded when the container starts (e.g., devbox container run --entrypoint "my-agent").
  3. Exportable environment script: Generate a shell script (e.g., devbox export-env) that can be sourced in a Dockerfile or entrypoint to initialize the environment for any subsequent command.

This would enable headless automation while preserving Devbox's reproducible dependency management—no need to bake custom images or manually manage PATH.

Alternatives you've considered
  • Manual eval "$(devbox shellenv)" in entrypoint: This works in some cases but adds complexity, requires bash/shell, and isn't officially documented for container use. It also doesn't handle all edge cases (e.g., non-shell processes).
  • Custom Docker images per project: Defeats the purpose of Devbox's dynamic environment management and increases build/maintenance overhead.
  • Wrapper scripts that invoke a command inside something like devox run -- bash or devbox shell -c "command": Limited by the fact that devbox shell is designed for interactive use; non-interactive usage is unreliable or unsupported.
Ngôn ngữ chính
Go
Star
12.4k
Fork
358
Merge trung bình
17 giờ 12 phút
Pull request đã merge (30 ngày)
31

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của jetify-com/devbox

Tất cả issue của jetify-com/devbox

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.