Skip to content

Commit 86cab1b

Browse files
committed
refactor: rename project and update references to "variables-contract"
- Changed project name from "variable-contract" to "variables-contract" across all relevant files, including configuration, documentation, and links. - Updated basePath in docmd.config.js to reflect the new project name. - Ensured consistency in naming throughout the documentation and examples. - Removed obsolete site files to streamline the project structure.
1 parent ed3555c commit 86cab1b

File tree

102 files changed

+166
-102351
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+166
-102351
lines changed

README.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Variable Contract
1+
# Variables Contract
22

33
Public specification and governance standard for design variables. DTCG 2025.10 compliant format with naming rules, validation requirements, versioning strategy, and adapter patterns.
44

55
**Version:** 0.3.5
66
**Status:** Draft
77
**Editor:** Mark Learst
88

9-
Variables are variables. CSS variables, JavaScript variables, Figma variables. Variable Contract standardizes how we name, structure, and govern them. No metaphors. No cute names. Just variables.
9+
Variables are variables. CSS variables, JavaScript variables, Figma variables. Variables Contract standardizes how we name, structure, and govern them. No metaphors. No cute names. Just variables.
1010

1111
If variables are managed without a contract, you get silent renames, broken references, inconsistent naming, tool lock-in, and production failures.
1212

1313
## What this is
1414

15-
Variable Contract defines:
15+
Variables Contract defines:
1616

1717
- JSON structure (DTCG 2025.10 format)
1818
- Naming convention (dot-separated paths, lowercase, no platform prefixes)
@@ -21,7 +21,7 @@ Variable Contract defines:
2121
- Versioning strategy (semantic versioning, breaking change definitions)
2222
- Adapter patterns (Figma, Tokens Studio, Style Dictionary)
2323

24-
Variable Contract does NOT define:
24+
Variables Contract does NOT define:
2525

2626
- Variable values (your design decisions)
2727
- Tools to use (works with any DTCG-compliant tool)
@@ -32,7 +32,7 @@ Variable Contract does NOT define:
3232

3333
Variables are variables. CSS variables, JavaScript variables, Figma variables. They store values, can be referenced, and can be changed.
3434

35-
"Design tokens" creates confusion. Developers know variables. Designers know variables. Variable Contract uses the term everyone understands.
35+
"Design tokens" creates confusion. Developers know variables. Designers know variables. Variables Contract uses the term everyone understands.
3636

3737
See [Why Variables](docs/introduction/why-variables) for the full argument.
3838

@@ -42,35 +42,35 @@ See [Why Variables](docs/introduction/why-variables) for the full argument.
4242

4343
Everyone calls them something different: design tokens, style properties, design constants, variables, tokens. This creates confusion and separation between design and code.
4444

45-
Variable Contract standardizes on "variables" and provides clear naming rules.
45+
Variables Contract standardizes on "variables" and provides clear naming rules.
4646

4747
### No governance
4848

4949
Variables change without rules. Renames break components. Invalid references ship to production. Breaking changes go unnoticed.
5050

51-
Variable Contract provides governance: naming rules, validation requirements, versioning strategy, change control process.
51+
Variables Contract provides governance: naming rules, validation requirements, versioning strategy, change control process.
5252

5353
### Tool lock-in
5454

5555
Variables are tied to specific tools. Figma exports don't work with Style Dictionary. Tokens Studio format doesn't match DTCG. Migration is painful.
5656

57-
Variable Contract is tool-agnostic. Use any tool. Adapters normalize tool outputs to the contract.
57+
Variables Contract is tool-agnostic. Use any tool. Adapters normalize tool outputs to the contract.
5858

5959
### Handoff breaks
6060

6161
Design and code don't align. Designers create variables in Figma. Developers consume CSS variables. The connection breaks.
6262

63-
Variable Contract bridges the gap. Variables flow from Figma through adapters to version control to generated outputs.
63+
Variables Contract bridges the gap. Variables flow from Figma through adapters to version control to generated outputs.
6464

6565
### No validation
6666

6767
Invalid variables ship to production. Broken references break components. Type mismatches cause runtime errors.
6868

69-
Variable Contract requires validation. CI checks catch errors before they ship.
69+
Variables Contract requires validation. CI checks catch errors before they ship.
7070

7171
## DTCG 2025.10 compliance
7272

73-
Variable Contract is DTCG 2025.10 compliant. Any JSON file that follows Variable Contract rules is valid DTCG 2025.10 format.
73+
Variables Contract is DTCG 2025.10 compliant. Any JSON file that follows Variables Contract rules is valid DTCG 2025.10 format.
7474

7575
What DTCG provides:
7676

@@ -81,7 +81,7 @@ What DTCG provides:
8181
- Group extension with `$ref`
8282
- Mode support
8383

84-
What Variable Contract adds:
84+
What Variables Contract adds:
8585

8686
- Naming convention rules
8787
- Change control process
@@ -93,7 +93,7 @@ See [DTCG Alignment](docs/contract/dtcg-alignment) for details.
9393

9494
## Quick start
9595

96-
### For teams adopting Variable Contract
96+
### For teams adopting Variables Contract
9797

9898
1. Read [Getting Started](docs/adoption/getting-started)
9999
2. Set up repository structure (`tokens/` directory)
@@ -134,8 +134,8 @@ See [Implementation Checklist](docs/adoption/implementation-checklist) for compl
134134
### Introduction
135135

136136
- [Why Variables](docs/introduction/why-variables) - Why "variables" not "design tokens"
137-
- [Comparison](docs/introduction/comparison) - Variable Contract vs DTCG, Style Dictionary, Material, Adobe
138-
- [Positioning](docs/introduction/positioning) - What Variable Contract is and is not
137+
- [Comparison](docs/introduction/comparison) - Variables Contract vs DTCG, Style Dictionary, Material, Adobe
138+
- [Positioning](docs/introduction/positioning) - What Variables Contract is and is not
139139

140140
### Contract reference
141141

@@ -173,7 +173,7 @@ See [Implementation Checklist](docs/adoption/implementation-checklist) for compl
173173

174174
### Tooling
175175

176-
- [Ecosystem](docs/tooling/ecosystem) - Tools that support Variable Contract
176+
- [Ecosystem](docs/tooling/ecosystem) - Tools that support Variables Contract
177177
- [CI/CD](docs/tooling/ci-cd) - CI/CD integration patterns
178178
- [Build Pipelines](docs/tooling/build-pipelines) - Complete build pipeline examples
179179
- [Figma Adapter](docs/adapters/figma) - Figma export normalization
@@ -206,7 +206,7 @@ See [Implementation Checklist](docs/adoption/implementation-checklist) for compl
206206

207207
## Requirements
208208

209-
Variable Contract JSON files MUST:
209+
Variables Contract JSON files MUST:
210210

211211
- Use DTCG 2025.10 format
212212
- Follow naming convention (dot-separated paths, lowercase, no platform prefixes)
@@ -216,7 +216,7 @@ Variable Contract JSON files MUST:
216216
- Avoid circular references
217217
- Use consistent mode keys within collections
218218

219-
Variable Contract JSON files SHOULD:
219+
Variables Contract JSON files SHOULD:
220220

221221
- Include `$description` when intent is not obvious
222222
- Use semantic aliases for UI consumption
@@ -227,7 +227,7 @@ See [Validation Checklist](docs/governance/validation) for complete requirements
227227

228228
## Validation
229229

230-
Variable Contract requires validation at multiple points:
230+
Variables Contract requires validation at multiple points:
231231

232232
1. After adapter normalization (check structure, naming, references)
233233
2. In CI on every PR (block invalid changes)
@@ -248,7 +248,7 @@ See [Validation](docs/governance/validation) for validation tools and CI setup.
248248

249249
## Versioning
250250

251-
Variable Contract uses semantic versioning (MAJOR.MINOR.PATCH):
251+
Variables Contract uses semantic versioning (MAJOR.MINOR.PATCH):
252252

253253
- MAJOR: breaking changes (renames, removals, type changes)
254254
- MINOR: new variables, new modes, non-breaking additions
@@ -271,7 +271,7 @@ See [Versioning](docs/governance/versioning) for complete versioning strategy.
271271

272272
## Adapters
273273

274-
Adapters normalize tool outputs into Variable Contract format.
274+
Adapters normalize tool outputs into Variables Contract format.
275275

276276
### Figma adapter
277277

@@ -298,7 +298,7 @@ See [Tokens Studio Adapter](docs/adapters/tokens-studio) for details.
298298

299299
### Style Dictionary adapter
300300

301-
Generates platform outputs from Variable Contract JSON:
301+
Generates platform outputs from Variables Contract JSON:
302302

303303
- CSS variables
304304
- TypeScript types
@@ -316,28 +316,28 @@ See [Style Dictionary Adapter](docs/adapters/style-dictionary) for details.
316316

317317
## UMP context
318318

319-
Variable Contract is part of UMP (UI Mapping Protocol), a larger system for mapping design and development artifacts.
319+
Variables Contract is part of UMP (UI Mapping Protocol), a larger system for mapping design and development artifacts.
320320

321321
UMP components:
322322

323-
- Variable Contract (this spec) - variables/tokens
323+
- Variables Contract (this spec) - variables/tokens
324324
- Component Contract (future) - component mapping
325325
- Pattern Contract (future) - pattern mapping
326326
- Design-Dev Mapping (future) - artifact relationships
327327

328-
Variable Contract is the first piece of UMP, focusing on variables.
328+
Variables Contract is the first piece of UMP, focusing on variables.
329329

330330
## Status
331331

332-
Variable Contract is:
332+
Variables Contract is:
333333

334334
- DTCG 2025.10 compliant
335335
- Production-ready
336336
- Tool-agnostic
337337
- Validated in CI
338338
- Used by teams
339339

340-
Variable Contract is NOT:
340+
Variables Contract is NOT:
341341

342342
- A W3C standard (uses DTCG format)
343343
- A tool (works with existing tools)
@@ -346,7 +346,7 @@ Variable Contract is NOT:
346346

347347
## Failure modes
348348

349-
If Variable Contract is not used:
349+
If Variables Contract is not used:
350350

351351
- Silent renames break components
352352
- Broken references cause production failures
@@ -355,7 +355,7 @@ If Variable Contract is not used:
355355
- No validation allows invalid variables to ship
356356
- Versioning chaos makes upgrades risky
357357

358-
If Variable Contract is used incorrectly:
358+
If Variables Contract is used incorrectly:
359359

360360
- Skipping validation allows invalid variables to ship
361361
- Not following naming convention breaks code generation
@@ -365,7 +365,7 @@ If Variable Contract is used incorrectly:
365365

366366
## Contributing
367367

368-
Variable Contract is a public specification. Contributions welcome.
368+
Variables Contract is a public specification. Contributions welcome.
369369

370370
Before contributing:
371371

@@ -405,11 +405,11 @@ Generates static site in `site/`.
405405

406406
**Editor:** Mark Learst
407407

408-
Variable Contract is maintained by the editor. Contributions welcome.
408+
Variables Contract is maintained by the editor. Contributions welcome.
409409

410410
## Acknowledgments
411411

412-
Variable Contract builds on:
412+
Variables Contract builds on:
413413

414414
- [DTCG 2025.10 Format](https://www.designtokens.org/tr/2025.10/format/) - Base format specification
415415
- [Style Dictionary](https://styledictionary.com/) - Output generation tool
@@ -419,12 +419,12 @@ Variable Contract builds on:
419419
## References
420420

421421
- [DTCG 2025.10 Specification](https://www.designtokens.org/tr/2025.10/format/) - Design Tokens Community Group format
422-
- [Variable Contract Documentation](docs/index.md) - Complete specification and governance
422+
- [Variables Contract Documentation](docs/index.md) - Complete specification and governance
423423
- [DTCG Alignment](docs/contract/dtcg-alignment.md) - Compliance details
424424

425425
## Conformance
426426

427-
To claim Variable Contract compliance:
427+
To claim Variables Contract compliance:
428428

429429
1. Use DTCG 2025.10 format for variable JSON
430430
2. Follow naming convention (dot-separated paths, lowercase, no platform prefixes)

docmd.config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// docmd.config.js: basic config for docmd
2-
// basePath is "/variable-contract" for GitHub Pages
2+
// basePath is "/variables-contract" for GitHub Pages
33
// Vercel deploys from gh-pages branch (same build) and uses rewrites
4-
const basePath = "/variable-contract";
5-
const siteUrl = "https://marklearst.github.io/variable-contract";
4+
const basePath = "/variables-contract";
5+
const siteUrl = "https://marklearst.github.io/variables-contract";
66

77
module.exports = {
8-
siteTitle: "Variable Contract",
8+
siteTitle: "Variables Contract",
99
srcDir: "docs",
1010
outputDir: "site",
1111
basePath,

docs/adapters/figma.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ After:
212212

213213
### Step 6: Validate naming
214214

215-
Check that normalized names follow Variable Contract naming convention (see [Naming](/variable-contract/adapters/contract/naming)).
215+
Check that normalized names follow Variable Contract naming convention (see [Naming](/variables-contract/adapters/contract/naming)).
216216

217217
- Names MUST use dot-separated paths
218218
- Names MUST be lowercase
@@ -354,12 +354,12 @@ Designers author variables in Figma. Changes flow through export, normalization,
354354
2. Design Engineer runs Figma adapter to normalize export JSON.
355355
3. Design Engineer commits normalized JSON to version control.
356356
4. Design Engineer opens PR for review.
357-
5. Reviewers check naming, types, references (see [Change Control](/variable-contract/adapters/governance/change-control)).
357+
5. Reviewers check naming, types, references (see [Change Control](/variables-contract/adapters/governance/change-control)).
358358
6. After merge, CI generates build outputs.
359359

360360
### What gets reviewed
361361

362-
- Variable names follow naming convention ([Naming](/variable-contract/adapters/contract/naming))
362+
- Variable names follow naming convention ([Naming](/variables-contract/adapters/contract/naming))
363363
- References resolve correctly
364364
- Modes are limited (`light`, `dark`)
365365
- No duplicate values when base tokens exist

docs/adapters/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ If adapters fail:
6969

7070
## Adapter documentation
7171

72-
- [Figma Adapter](/variable-contract/adapters/figma) - Figma Variables export normalization
73-
- [Tokens Studio Adapter](/variable-contract/adapters/tokens-studio) - Tokens Studio export normalization
74-
- [Style Dictionary Adapter](/variable-contract/adapters/style-dictionary) - Variable Contract to CSS/TypeScript/etc.
75-
- [Tailwind Adapter](/variable-contract/adapters/tailwind) - Tailwind theme configuration generation
72+
- [Figma Adapter](/variables-contract/adapters/figma) - Figma Variables export normalization
73+
- [Tokens Studio Adapter](/variables-contract/adapters/tokens-studio) - Tokens Studio export normalization
74+
- [Style Dictionary Adapter](/variables-contract/adapters/style-dictionary) - Variable Contract to CSS/TypeScript/etc.
75+
- [Tailwind Adapter](/variables-contract/adapters/tailwind) - Tailwind theme configuration generation
7676

7777
## Out of scope
7878

docs/adapters/tokens-studio.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ This format is already correct. No transformation needed.
7474

7575
### Step 4: Validate naming
7676

77-
Check that names follow Variable Contract naming convention (see [Naming](/variable-contract/adapters/contract/naming)).
77+
Check that names follow Variable Contract naming convention (see [Naming](/variables-contract/adapters/contract/naming)).
7878

7979
- Names MUST use dot-separated paths
8080
- Names MUST be lowercase
@@ -204,12 +204,12 @@ Designers author variables in Figma using Tokens Studio plugin. The repo JSON is
204204
2. Design Engineer validates export JSON (run adapter if needed).
205205
3. Design Engineer commits JSON to version control.
206206
4. Design Engineer opens PR for review.
207-
5. Reviewers check naming, types, references (see [Change Control](/variable-contract/adapters/governance/change-control)).
207+
5. Reviewers check naming, types, references (see [Change Control](/variables-contract/adapters/governance/change-control)).
208208
6. After merge, CI validates JSON and generates build outputs.
209209

210210
### What gets reviewed
211211

212-
- Variable names follow naming convention ([Naming](/variable-contract/adapters/contract/naming))
212+
- Variable names follow naming convention ([Naming](/variables-contract/adapters/contract/naming))
213213
- References resolve correctly
214214
- Token organization (base, semantic, component layers)
215215
- Breaking changes are documented
@@ -232,7 +232,7 @@ Before exporting from Tokens Studio:
232232
- Semantic aliases: reference base tokens, describe usage
233233
- Component tokens: reference semantic aliases, component-scoped
234234

235-
See [Anatomy](/variable-contract/adapters/contract/anatomy) for details.
235+
See [Anatomy](/variables-contract/adapters/contract/anatomy) for details.
236236

237237
### Artifacts that change
238238

@@ -245,4 +245,3 @@ See [Anatomy](/variable-contract/adapters/contract/anatomy) for details.
245245
- Tokens Studio plugin configuration
246246
- Tokens Studio sync workflows
247247
- Conflict resolution between Tokens Studio and version control
248-

docs/adoption/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ Avoid these mistakes:
251251

252252
After adoption:
253253

254-
- Review [Implementation Checklist](/variable-contract/adoption/adoption/implementation-checklist)
255-
- Set up [Migration Strategy](/variable-contract/adoption/adoption/migration-strategy) if migrating
254+
- Review [Implementation Checklist](/variables-contract/adoption/adoption/implementation-checklist)
255+
- Set up [Migration Strategy](/variables-contract/adoption/adoption/migration-strategy) if migrating
256256
- Document team-specific patterns
257257
- Iterate on workflow
258258

docs/contract/anatomy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@ If anatomy rules are ignored:
7777

7878
- Specific variable values (anatomy governs structure, not content)
7979
- Number of variables per category (depends on design system size)
80-
- Naming within categories (see [Naming Convention](/variable-contract/contract/naming))
80+
- Naming within categories (see [Naming Convention](/variables-contract/contract/naming))

docs/contract/dtcg-alignment.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ DTCG 2025.10 defines:
2525

2626
Variable Contract adds a governance layer on top of DTCG format:
2727

28-
- Naming convention rules (see [Naming](/variable-contract/contract/naming))
29-
- Change control process (see [Change Control](/variable-contract/governance/change-control))
30-
- Role definitions (see [Design Engineer](/variable-contract/governance/roles/design-engineer))
31-
- Adapter patterns for tool integration (see [Adapters](/variable-contract/adapters))
28+
- Naming convention rules (see [Naming](/variables-contract/contract/naming))
29+
- Change control process (see [Change Control](/variables-contract/governance/change-control))
30+
- Role definitions (see [Design Engineer](/variables-contract/governance/roles/design-engineer))
31+
- Adapter patterns for tool integration (see [Adapters](/variables-contract/adapters))
3232
- Validation requirements beyond format correctness
3333

3434
## Compatibility matrix

docs/contract/types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ Examples:
257257

258258
## Composite types
259259

260-
Composite types combine multiple primitive types into structured values. See [Composite Types](/variable-contract/contract/composite-types) for details.
260+
Composite types combine multiple primitive types into structured values. See [Composite Types](/variables-contract/contract/composite-types) for details.
261261

262262
Supported composite types:
263263

0 commit comments

Comments
 (0)