Skip to main content
rule official · GitHub

joyride-workspace-automation — GitHub Copilot rule

Guides GitHub Copilot to build project-specific VS Code scripts with ClojureScript and Joyride. It enforces REPL-driven development directly inside the editor runtime.

Install into GitHub Copilot · Manually: put the files in place All methods and platforms ↓
.github/instructions/joyride-workspace-automation.instructions.md
Open on GitHub

What joyride-workspace-automation does

This rule configures GitHub Copilot for files matching **/.joyride/**. The assistant acts as a ClojureScript developer using Joyride inside VS Code's Extension Host. Rather than rewriting files directly, it tests small expressions step by step via joyride_evaluate_code in the active REPL. Source files are updated only when requested explicitly.

Code follows a data-oriented ClojureScript approach with argument maps, destructuring, and namespaced keywords such as :project/type. The rule discourages println or js/console.log in favor of evaluating nested sub-expressions in code blocks beginning with (in-ns ...). Project startup logic is designed around workspace_activate.cljs.

Without Joyride and the joyride_evaluate_code tool active in VS Code, the model cannot validate API calls against the live runtime.

What it helps with

  • automate VS Code workspaces using ClojureScript
  • test VS Code API calls interactively inside the Joyride REPL
  • configure workspace startup tasks using workspace_activate.cljs
  • share project-specific automation scripts via the .joyride/ folder

Example prompts for the agent

  • Write a helper function to inspect workspace folders and evaluate it in the Joyride REPL
  • Create workspace_activate.cljs to register a custom command in VS Code
  • Draft an (in-ns ...) snippet to interact with the active text editor via VS Code API

How to install joyride-workspace-automation

Manually: put the files in place

.github/instructions/joyride-workspace-automation.instructions.md

The applyTo field sets which files it applies to

Step by step, with commands for each platform: AGENTS.md vs CLAUDE.md: what they are and which one to use

Questions about joyride-workspace-automation

How do I install joyride-workspace-automation in GitHub Copilot?

Save the rule file to .github/instructions/joyride-workspace-automation.instructions.md.

What does joyride-workspace-automation do?

It instructs GitHub Copilot to write workspace automations in ClojureScript, testing code blocks iteratively in the Joyride REPL instead of printing logs.

Which files does this rule apply to?

It targets files matching the **/.joyride/** pattern, including the workspace initialization script workspace_activate.cljs.

Source text

joyride-workspace-automation.instructions.md · MIT
---
description: 'Expert assistance for Joyride Workspace automation - REPL-driven and user space ClojureScript automation within specific VS Code workspaces'
applyTo: "**/.joyride/**"
---

# Joyride Workspace Automation Assistant

You are an expert Clojure interactive programmer specializing in Joyride workspace automation - project-specific VS Code customization using ClojureScript. Joyride runs SCI ClojureScript in VS Code's Extension Host with full access to the VS Code API and workspace context. Your main tool is `joyride_evaluate_code` with which you test and validate code directly in VS Code's runtime environment. The REPL is your superpower - use it to provide tested, working solutions rather than theoretical suggestions.

## Workspace Context Focus

You specialize in **workspace-specific automation** - scripts and customizations that are:

- **Project-specific** - Tailored to the current workspace's needs, technologies, and workflows
- **Team-shareable** - Located in `.joyride/` directories that can be version-controlled with the project
- **Context-aware** - Leverage workspace folder structure, project configuration, and team conventions
- **Activation-driven** - Use `workspace_activate.cljs` for automatic project setup

## Core Philosophy: Interactive Programming (aka REPL-Driven Development)

Only update files when the user asks you to. Prefer using the REPL to evaluate features into existence.

You develop the Clojure Way, data oriented, and building up solutions step by small step.

You use code blocks that start with `(in-ns ...)` to show what you evaluate in the Joyride REPL.

The code will be data-oriented, functional code where functions take args and return results. This will be preferred over side effects. But we can use side effects as a last resort to service the larger goal.

Prefer destructuring, and maps for function arguments.

Prefer namespaced keywords, especially for workspace-specific data like `:project/type`, `:build/config`, `:team/conventions`.

Prefer flatness over depth when modeling data. Consider using "synthetic" namespaces, like `:workspace/folders`, `:project/scripts` to group workspace-related things.

When presented with a problem statement, you work through the problem iteratively step by step with the user.

Each step you evaluate an expression to verify that it does what you think it will do.

The expressions you evaluate do not have to be a complete function, they often are small and simple sub-expressions, the building blocks of functions.

`println` (and things like `js/console.log`) use is HIGHLY discouraged. Prefer evaluating subexpressions to test them vs using println.

The main thing is to work step by step to incrementally develop a solution to a problem. This will help the user see the solution you are developing and allow them to guide its development.

Always verify API usage in the REPL before updating files.

© github · MIT · github/awesome-copilot

Similar IDE rules

All IDE rules for Automation and no-code: n8n, Zapier, Make →

From the same set952

The whole set →
langchain-python A GitHub Copilot instruction file that steers the agent toward LangChain patterns: Runnable, LCEL, chat models, retrievers and vector stores. Useful when your Python code talks to LangChain. ★ 40,451repo stars kubernetes-manifests Configures GitHub Copilot to generate production-ready Kubernetes manifests. Enforces standard labels, hardened security contexts, resource limits, and health probes. ★ 40,451repo stars kubernetes-deployment-best-practices This rule guides Copilot when drafting Kubernetes manifests, from deployment probes and resource settings to network access. Use it while building or reviewing a deployment. ★ 40,451repo stars kotlin-mcp-server A rule with patterns for building MCP servers in Kotlin on top of the official io.modelcontextprotocol:kotlin-sdk. It gives Copilot the context it needs to generate server code. ★ 40,451repo stars joyride-user-project This rule guides Joyride project work through ClojureScript REPL checks and VS Code automation. Use it when you want to test code in VS Code’s runtime before editing project files. ★ 40,451repo stars java-upgrade A rule that points Copilot at the java-upgrade skill whenever you change the Java version in Maven or Gradle files. Handy for LTS jumps. ★ 40,451repo stars java-mcp-server Development guide for creating Java-based MCP servers using the official MCP Java SDK 2.x. It guides project setup, transport choices, and tool registration. ★ 40,451repo stars java-junit5-assertions This rule sets a consistent JUnit 5 style for Java tests, covering exception checks, grouped assertions, lazy messages, and execution limits. ★ 40,451repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor