Add CI pipeline documentation and enhance syncback architecture

- Introduced a new CI pipeline documentation file outlining steps for auto-fixing formatting, running linters, building, and testing.
- Documented the Rojo syncback architecture, detailing improvements to prevent duplicate file creation and format mismatches.
- Updated syncback logic to ensure existing instances are updated instead of creating duplicates, enhancing project file management.
- Added tests for encoding instances and handling nested children to improve reliability in syncback operations.
This commit is contained in:
Joe 2026-02-01 18:18:31 -06:00
parent edc09741bf
commit b368eb2401
46 changed files with 3688 additions and 112 deletions

View file

@ -0,0 +1,10 @@
{
"name": "api_write_existing",
"tree": {
"$className": "DataModel",
"ServerScriptService": {
"$className": "ServerScriptService",
"$path": "src"
}
}
}

View file

@ -0,0 +1,5 @@
-- AcidRainEvent module
return {
name = "AcidRainEvent",
duration = 30,
}

View file

@ -0,0 +1,8 @@
-- EventService: handles game events
local EventService = {}
function EventService:Start()
print("EventService started")
end
return EventService

View file

@ -0,0 +1,10 @@
{
"name": "syncback_format_transitions",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"$path": "src"
}
}
}

View file

@ -0,0 +1,2 @@
-- UI Helper module under LocalScript
return {}

View file

@ -0,0 +1,2 @@
-- Parent LocalScript with children
print("DirLocalScriptWithChildren started")

View file

@ -0,0 +1,2 @@
-- Child module script
return { child = true }

View file

@ -0,0 +1 @@
This is a child StringValue

View file

@ -0,0 +1,6 @@
{
"className": "Configuration",
"properties": {
"Name": "DirModelWithChildren"
}
}

View file

@ -0,0 +1,2 @@
-- Child A module
return "ChildA"

View file

@ -0,0 +1,2 @@
-- Child B module
return "ChildB"

View file

@ -0,0 +1,5 @@
-- Parent ModuleScript with children
return {
name = "DirModuleWithChildren",
hasChildren = true,
}

View file

@ -0,0 +1,2 @@
-- Handler module under Script
return function() end

View file

@ -0,0 +1,2 @@
-- Parent Script with children
print("DirScriptWithChildren started")

View file

@ -0,0 +1,2 @@
-- Standalone LocalScript (no children)
print("StandaloneLocalScript running")

View file

@ -0,0 +1,6 @@
{
"className": "Configuration",
"properties": {
"Name": "StandaloneModel"
}
}

View file

@ -0,0 +1,2 @@
-- Standalone ModuleScript (no children)
return { standalone = true }

View file

@ -0,0 +1,2 @@
-- Standalone Script (no children)
print("StandaloneScript running")

View file

@ -0,0 +1 @@
Standalone StringValue content

View file

@ -0,0 +1,11 @@
{
"name": "syncback_scripts_only",
"syncScriptsOnly": true,
"tree": {
"$className": "DataModel",
"ServerScriptService": {
"$className": "ServerScriptService",
"$path": "src"
}
}
}

View file

@ -0,0 +1,4 @@
{
"className": "Configuration",
"properties": {}
}

View file

@ -0,0 +1,2 @@
-- Helper module
return {}

View file

@ -0,0 +1,2 @@
-- Server script with children
print("ScriptWithChildren started")

View file

@ -0,0 +1,2 @@
-- Standalone module script
return { standalone = true }