gerillass 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  [Gerillass](https://gerillass.com) is a library built on top of [Sass (Syntactically Awesome Style Sheets)](https://sass-lang.com/) to give you flexibility for your projects and accelerate your performance and creativity.
10
10
 
11
+ It is also built to be read by coding agents. Every mixin and function ships with a machine-readable manifest, and the test suite compiles every documented example and asserts every documented refusal. So what the manifest says the library does is what the library does. The docs cannot drift away from the code, because a stale manifest fails the build.
12
+
11
13
  Many of the utilities that come with Gerillass are the solutions I have come up with for the challenges I have faced as a frontend developer over the years. These solutions have been shaped by the inspiration of other popular libraries and frameworks like [Bourbon](https://www.bourbon.io/), [Susy](https://www.oddbird.net/), [Scut](https://github.com/davidtheclark/scut), [Bootstrap](https://getbootstrap.com/), etc. over time and helped me create Gerillass.
12
14
 
13
15
  Hope you’ll enjoy using it!
@@ -53,7 +55,7 @@ Or with Yarn:
53
55
 
54
56
  yarn add gerillass --dev
55
57
 
56
- Then load it. If your setup resolves packages from **node_modules** Vite, webpack, Next.js and most modern bundlers do this is all you need:
58
+ Then load it. If your setup resolves packages from **node_modules**, which Vite, webpack, Next.js and most modern bundlers do, this is all you need:
57
59
 
58
60
  @use 'gerillass' as *;
59
61
 
@@ -139,7 +141,7 @@ Then:
139
141
 
140
142
  ### Using with Grunt
141
143
 
142
- Use `grunt-sass` with Dart Sass as the implementation. The option here is **`loadPaths`** as well not `loadPath`, and not `includePaths`.
144
+ Use `grunt-sass` with Dart Sass as the implementation. The option here is **`loadPaths`** as well, not `loadPath`, and not `includePaths`.
143
145
 
144
146
  module.exports = function (grunt) {
145
147
  grunt.loadNpmTasks("grunt-sass");
@@ -188,25 +190,31 @@ Including to the project:
188
190
 
189
191
  ## Using Gerillass with an AI coding agent
190
192
 
191
- Gerillass ships two files that let a coding agent use the library correctly instead of guessing at it. Both are inside the installed package, so an agent working in your project can read them straight out of `node_modules/gerillass/`.
193
+ A library this size has no training data behind it, so an agent asked to use Gerillass will guess at the argument forms and get them wrong. Two files ship with the package to stop that. Both live inside the installed package, so an agent working in your project can read them straight out of `node_modules/gerillass/`.
192
194
 
193
195
  **`gerillass.json`** describes every mixin and function: its signature, what each argument accepts, examples that compile, and inputs that are refused.
194
196
 
195
197
  const api = require("gerillass/gerillass.json");
196
198
 
197
- **`SKILL.md`** is a written guide generated from that manifest how to load the library, the full catalogue, and the argument forms that are easy to get wrong. If your agent supports [Agent Skills](https://code.claude.com/docs/en/skills), copy it into your skills folder:
199
+ **`SKILL.md`** is a written guide generated from that manifest. It covers how to load the library, the full catalogue, and the argument forms that are easy to get wrong. If your agent supports [Agent Skills](https://code.claude.com/docs/en/skills), copy it into your skills folder:
198
200
 
199
201
  mkdir -p .claude/skills/gerillass
200
202
  cp node_modules/gerillass/SKILL.md .claude/skills/gerillass/
201
203
 
202
204
  Otherwise, point your agent at the file and it will read it as plain Markdown.
203
205
 
204
- Neither file is generated by hand: signatures are parsed from the Sass sources, and every example and refusal in the manifest is executed by the test suite. What the manifest says the library does is what the library does.
206
+ ### Why you can trust what they say
207
+
208
+ Neither file is written by hand. Signatures are parsed from the Sass sources, and the semantics come from a separate set of notes, so nobody can describe a mixin that does not exist.
209
+
210
+ The part that matters is what happens next. The test suite takes every example in the manifest and compiles it. It takes every input the manifest claims is refused and checks that the library really does refuse it, with its own error message rather than an internal Sass one. It runs every example a second time under the `gls-` prefixed name and requires byte-identical CSS. And it fails the build if either generated file is out of date.
211
+
212
+ So the manifest cannot claim behaviour the library does not have. That is the whole point of it. Documentation drifts away from code in most projects, quietly, and an agent reading stale docs writes code that does not work. Here it cannot happen without turning the test suite red first.
205
213
 
206
214
 
207
215
  ## Three ways to call the same mixin
208
216
 
209
- None of them is required pick whichever reads best in your project, and stay with it in a given file.
217
+ None of them is required. Pick whichever reads best in your project, and stay with it in a given file.
210
218
 
211
219
  **Bare.** The shortest, and fine unless another library defines the same name.
212
220
 
package/SKILL.md CHANGED
@@ -156,8 +156,8 @@ a dropped declaration rather than an error.
156
156
 
157
157
  ## Functions
158
158
 
159
- Called like normal Sass functions. The two leading underscores mark them as
160
- functions rather than mixins; they are public API.
159
+ Called like normal Sass functions, with no `@include`. They are public API,
160
+ and camelCase is what tells them apart from the kebab-case mixins above.
161
161
 
162
162
  | Signature | What it does |
163
163
  |---|---|
package/gerillass.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gerillass",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Gerillass is an open-source toolkit that contains a set of Sass mixins to help designers and developers to create better, faster and consistent user interfaces.",
5
5
  "homepage": "https://gerillass.com",
6
6
  "documentation": "https://docs.gerillass.com",
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  }
17
17
  },
18
18
  "license": "Apache-2.0",
19
- "version": "2.0.0",
19
+ "version": "2.0.1",
20
20
  "repository": {
21
21
  "type": "git",
22
22
  "url": "git+https://github.com/selfishprimate/gerillass.git"
@@ -40,7 +40,7 @@
40
40
  "sass-tool-set"
41
41
  ],
42
42
  "scripts": {
43
- "manifest": "node tools/build-manifest.js && node tools/build-skill.js",
43
+ "manifest": "node tools/build-manifest.js && node tools/build-skill.js && node tools/build-llms-txt.js",
44
44
  "test": "jest"
45
45
  },
46
46
  "devDependencies": {