After years of powering Shiny applications in production, {golem} — our opinionated framework for building production-grade Shiny apps as R packages — has finally reached a symbolic milestone: version 1.0.0. This is more than a version bump. It marks a mature, stable API, and it’s the right moment to clean up a few legacy behaviors along the way.
Here’s what’s new in this release:
- 🤖 Agent skills — the headline feature.
{golem}can now install agent skills (Claude Code /AGENTS.mdlayout) straight into your project, so your coding assistant natively understands golem’s conventions: adding a module, a function, running a check, fixing missingns()calls… Enable them right at creation withcreate_golem("myapp", with_agents = TRUE). - 🐳 A reworked Docker/
{renv}deployment story. Multi-stage Dockerfiles by default, production mode enabled out of the box, plus two new helpers —add_github_action()andadd_gitlab_ci()— to generate minimal deployment CI for fresh apps. - ✨ Modernized console output. Every message, progress bar and feedback line has been standardized with the
{cli}package for a cleaner, more consistent experience. - 🔌 Functional JavaScript bindings out of the box.
add_js_input_binding()andadd_js_output_binding()now generate working bindings — no more manual skeleton completion — with a ready-to-use R companion file. - ⚠️ Breaking changes. Unified
golem_wdpath argument, a reworkedget_current_config(), a few removed functions and stricteradd_*/use_*helpers. Worth reading before you upgrade an existing project.
Getting started (or upgrading) is a one-liner:
install.packages("golem")
golem::create_golem("myapp", with_agents = TRUE)


