Skip to content

Commit ec815f6

Browse files
docs: set plain-language SER wording guidance
1 parent ef9d8c8 commit ec815f6

2 files changed

Lines changed: 46 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,47 @@ dotnet build SER.csproj -c Release --no-restore
1010
The resulting DLL is deployed directly to the server, so do not hand off a
1111
change until this build has completed successfully and the Release artifact is
1212
ready for a server restart.
13+
14+
# Human-facing SER wording
15+
16+
Use the user-facing tutorial series in `docs/tutorial/` as the house style for
17+
config descriptions, commands, help text, errors, documentation, release notes,
18+
and handoff messages.
19+
20+
- Start with what the server owner or script author will see, gain, or need to
21+
do. Explain the internal mechanism only when it helps them make a decision.
22+
- Prefer short, common words. Assume the reader understands the game and the
23+
result they want, but not SER internals.
24+
- Introduce one idea at a time: show the smallest useful action or example,
25+
explain only its new pieces, and put a warning next to the risky step.
26+
- Keep implementation terms such as frame yields, synchronous evaluation,
27+
manifests, and line-ending normalization in code comments or technical
28+
reference material. Do not lead user-facing copy with them.
29+
- Remove filler such as "focused", "robust", "cleanly", or "improved" unless
30+
the sentence says exactly what changed for the user.
31+
- For a bug, say: what the user tried, what went wrong, and what works now.
32+
Add deeper cause details only when asked or when they change the workaround.
33+
- For a setting, say: what changes when it is on, the practical tradeoff, and
34+
the recommended choice. Do not describe it through its implementation.
35+
- For a handoff, lead with the result. Then state any action the user must take,
36+
followed by verification. Keep developer-only detail out of the main summary.
37+
- Put exhaustive behavior and edge cases in reference material rather than
38+
interrupting the first explanation.
39+
40+
Examples:
41+
42+
- Avoid: "Inserts frame yields while scripts execute, reducing the risk that a
43+
tight script stalls the server."
44+
Prefer: "Slows scripts down slightly to help stop them from freezing the
45+
server. Keep this enabled unless you have checked every active script."
46+
- Avoid: "The synchronous inline expression could not resume after the
47+
artificial safety yield."
48+
Prefer: "With SafeScripts on, SER paused the method and checked its answer too
49+
early."
50+
- Avoid: "Manifest line endings are normalized for deterministic cross-platform
51+
output."
52+
Prefer: "Tooling builds now produce the same files on Windows and Linux."
53+
54+
Before handing off human-facing wording, ask: can a server owner tell what
55+
changed and what they should do without knowing how SER is implemented? If not,
56+
rewrite it.

Code/Plugin/Config.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public class Config
2222
public bool SendInitMessage { get; set; } = true;
2323

2424
[Description(
25-
"Inserts frame yields while scripts execute, reducing the risk that a tight script stalls the server. " +
26-
"Disable this only after reviewing every active script."
25+
"Slows scripts down slightly to help stop them from freezing the server. " +
26+
"Keep this enabled unless you have checked every active script."
2727
)]
2828
public bool SafeScripts { get; set; } = true;
2929

0 commit comments

Comments
 (0)