Core Concepts
Tools Reference
Stud provides a set of powerful tools for interacting with your codebase. Every tool execution is transparent and requires your approval.
Read
Reads the contents of a file from your filesystem. Supports line offsets and limits for large files, and can read images, PDFs, and Jupyter notebooks.
Example
Read src/server/PlayerData.lua
1│ local PlayerData = {}
2│
3│ function PlayerData.init(player)
4│ local data = DataStore:GetAsync(player.UserId)
5│ ...
Parameters
file_path— Absolute path to the file to readoffset— Line number to start reading from (optional)limit— Number of lines to read (optional)
Write
Writes content to a file, creating it if it doesn't exist or overwriting it if it does. Stud will always ask for your permission before writing.
Example
Write src/shared/Config.lua
+return{
+ MaxPlayers = 50,
+ Debug = false,
+}
Edit
Performs targeted string replacements in files. More precise than Write — only changes what needs to change, leaving the rest of the file untouched.
Example
Edit src/server/PlayerData.lua
- MaxPlayers = 50,
+ MaxPlayers = 100,
Glob
Fast file pattern matching. Find files by name, extension, or directory pattern. Returns matching paths sorted by modification time.
Example
Glob "**/*.lua" 23 files
src/server/init.lua
src/server/PlayerData.lua
src/client/PlayerGui.lua
src/shared/Config.lua
... 19 more
Grep
Search file contents using regular expressions. Supports context lines, file type filtering, and multiple output modes. Built on ripgrep for speed.
Example
Grep "GetAsync" --type lua
3 matches
src/server/PlayerData.lua:4: local data = DataStore:GetAsync(key)
src/server/Leaderboard.lua:12: local scores = Store:GetAsync("top")
Bash
Execute shell commands directly from Stud. Useful for running builds, tests, git operations, and other terminal tasks. Output is captured and parsed intelligently.
Example
_git status
On branch main
Changes not staged for commit:
modified: src/server/PlayerData.lua
Subagents
Delegate tasks to background agents that work in parallel. Subagents have their own context and tools, making them ideal for researching code, running tests, or handling independent subtasks.
Example
Spawning subagent: "Review all server scripts for security issues"
Agent working in background...
Next Steps
Permissions → How Stud keeps you in control
Roblox Integration → 27+ specialized Roblox tools