Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# AGENTS.md

## Prerequisites
## Prerequisites using `mise`

- **Node.js**: Version pinned in `.nvmrc` (use `nvm use` or the devcontainer)
- **pnpm**: Pinned in `package.json` `packageManager` field. Run `corepack enable` to activate it
This repository uses [`mise.toml`](mise.toml) to manage the CLI toolchain.

Before using `aws`, `pnpm` or `node`:
1. If `mise` is not installed, stop and ask the user to install it with `brew install mise`. Do not do it for them.
2. Run `mise install`
3. `export` all the env vars as given by `mise env` in the current shell for the next command invocations. Notably, this will override `PATH`.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are 2 recommended ways:

  • eval "$(mise activate)"
  • eval "$(mise activate --shims)"

--shims is much simpler:

export PATH="/Users/slavoie2/.local/share/mise/shims:$PATH"

However, both need eval, and harness really don't like that, routinely blocking the execution.


Adding ~/.local/share/mise/shims to PATH could work, but:

  • It feels brittle to manipulate the PATH directly and assuming some things about the environments
  • shims change the resolved path of tools, sometimes creating other problems with path-based allow/blocklists
$ ls -l ~/.local/share/mise/shims
total 0
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug 10 13:57 aws -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug 10 13:57 aws_completer -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug  7 09:54 corepack -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug  7 09:54 node -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug  7 09:54 npm -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug  7 09:54 npx -> /opt/homebrew/bin/mise
lrwxr-xr-x@ 1 slavoie2  staff  22 Aug  7 09:54 pnpm -> /opt/homebrew/bin/mise

I tested this solution in Kiro and it works well.

I encourage reviewers to test before merging.


Do not use `nvm`, `corepack`, `npx`, or `npm`.

## Commands

Expand Down
7 changes: 4 additions & 3 deletions mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ min_version = "2026.7.0"

[tools]
awscli = "2.36.13"
node = "24.18.1"
pnpm = "10.34.5"

[settings]
idiomatic_version_file_enable_tools = ["node", "pnpm"]
Comment thread
lavoiesl marked this conversation as resolved.

[tasks.install]
run = "pnpm install"
run = "pnpm install --frozen-lockfile"
Loading