The project template: finding your way
Every new project starts from this template. The code it contains becomes yours.
When you create a project, VibeStarter downloads a template that is ready to use: a Roblox game base that is already structured, with player saves, notifications and an admin console. This page describes what you find there, where each thing ends up in Roblox, and what you should not touch.
The map: which folder goes where
Section titled “The map: which folder goes where”| In your project | In Roblox | What goes in it |
|---|---|---|
src/shared/ |
ReplicatedStorage.Common |
what the server and the client use |
src/server/ |
ServerScriptService.TS |
the game logic, invisible to players |
src/client/ |
StarterPlayerScripts.TS |
the interface and everything that runs on the player’s side |
src/first/ |
ReplicatedFirst.TS |
what must run before everything else |
Packages/ |
ReplicatedStorage.Packages |
the Roblox libraries the game uses |
include/ |
ReplicatedStorage.rbxts_include |
the support the translated code needs |
Everything else in your place — the map, the lighting, the models you place in Studio — does not come from the project and is not touched by sync. See Sync, explained.
Where to write what
Section titled “Where to write what”A file placed in src/server/services/ is loaded automatically on the server side; a file placed in
src/client/controllers/ is loaded automatically on the client side. There is nothing to declare or
register: creating the file is enough. Your agents know this convention and follow it.
What the template already provides
Section titled “What the template already provides”- Player saves. One profile per player, with what is needed to start: a currency, the music and sound effect volumes, the date of first and last sign-in, the tutorial step reached.
- Server-to-client replication, with cleanup on disconnect.
- Notifications: short-lived messages (five at most on screen, a few seconds each) and global banners (three at most), to notify one player, all players, or all players except one.
- An admin console, opened with the F2 key, with history and auto-completion. Typing
adminpanelorapopens a visual panel. Commands included: kill a player, teleport them, change their speed, kick them, show help, send a message to one player or to everyone, reset or inspect their data. - The administrator list, written when the project is created with your Roblox ID when your Roblox account is already linked. Anyone present in Studio and the game’s creator are administrators in practice.
- An interface base: a central theme (colors, spacing, typography), a scale calculated from a reference screen that adjusts when the camera changes, animations that do not depend on the frame rate, sound playback and number formatting.
- A backpack and a top bar, ready to use.
- A tutorial skeleton: an overlay, highlights, beams in the scene and remembering the step.
What the template does not provide
Section titled “What the template does not provide”To be frank, so you are not disappointed: there is no leaderboard, no shop, no library of reusable interface components, no tutorial path ready to play, no currency to earn, no tests. The tutorial skeleton is a foundation: no path is provided, and it is not connected to anything.
It is a game base, not a game. What is missing is what your agents build with you.
Files not to modify
Section titled “Files not to modify”Three files are made read-only in your project, because a single bad change to them breaks both compilation and sync with Studio at once:
| File | What it does |
|---|---|
default.project.json |
the plan that says which folder goes where in Roblox |
tsconfig.json |
the rules of compilation |
scripts/dev.mjs |
the start of the compiler |
Other files belong to the app and are updated each time the project is opened, including the template’s
README.md. Two files are merged rather than replaced: your personal lines in .gitignore are kept,
and in package.json only the startup entries are reconciled.
Everything else — starting with src/ — is written once when the project is created and never touched
again: this code is yours.
Where images, models and sounds go
Section titled “Where images, models and sounds go”The Cloud saves and shares the code. Images, 3D models and sounds live on Roblox once published: your game calls them by their ID. Storing them twice in the project history makes it heavy enough to slow down sync — that is why they are excluded by default. In any case, the project’s plan only uploads the translated code and the libraries.
See Where your assets go.
Limits
Section titled “Limits”- The compiler already runs, started by the app. Do not start it a second time: it will refuse and tell you that a compiler is already running.
out/is rewritten constantly: any change made there is lost.- The template evolves with the app, but only for the files that belong to it. Your code does not move.
Frequently asked questions
Section titled “Frequently asked questions”Can I rename or move the folders in src/?
No. The project’s plan expects them at these locations, and it cannot be modified.
Why is my code in TypeScript and not Luau? Because it is the template’s language: you write TypeScript, a compiler translates it into Luau, and it is this translation that Studio receives.
Can I add a Roblox library?
Yes: ask an agent, and it adds it to the project’s dependencies. It will then appear in
ReplicatedStorage.Packages.
How do I become an administrator in my own game? Your Roblox ID is already there if your Roblox account was linked when the project was created. In Studio, you are an administrator anyway.