poetry 0.1.5 → 0.1.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64b7d02fed64d70529cb6cc92d4ab0cc945d0abcbbb08840e0d90e95b54e2059
4
- data.tar.gz: dff9c7662563df7f92346d74a93b574ddfef00e6ab525546b811ca869c33a84b
3
+ metadata.gz: 2ba092c81236b3cd642b42ad35ae6eef8ec1b5b8e745a2af14bf1a2faf1da2ab
4
+ data.tar.gz: 51638e705c39ad8d84fe67cbda31f2a7ad8d57298e2a201e5d8a9dbe82000dd5
5
5
  SHA512:
6
- metadata.gz: 6dc79dcdd66456a80dd92a9166dc5ddb9490b6b487c1080c356a51f7d115b164ee86af421a27552452ebdc81203ecbf2d3b67ebb40f8f690f7969628c2b3e4d9
7
- data.tar.gz: 997dc8c685ba221bb85dc2091439c283e2a11a2570bda9c93a0d700ff9157414eaa7aa2546b78dddab9b805294a7aa10aca3c682e7b061b43661915c0e8a4fb4
6
+ metadata.gz: 17c32028d2f87524ed1bd9918253ad2d43ca1c2aca269ca1889b68172c849f235a8ba12ef63152cebf36b2899fa241bc732f8667159bbd73c39c5292adc09d27
7
+ data.tar.gz: ed3e6558e8d3c4cd1f846f9c3ee5e953831fa2830b013e967629503894ac62f36fdad11e076a648928c2d6a49d10c72b93cc092a3f605e2c80783e36f43930f3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.7] - 2026-09-20
4
+
5
+ ### Changed
6
+
7
+ - Version bump with the family; no changes in this gem.
8
+
9
+ ## [0.1.6] - 2026-09-20
10
+
11
+ ### Changed
12
+
13
+ - The gem is developed in the Poetry monorepo, roboruby/poetry, at the repository root, with the seven gems under `gems/`; the gemspec ships a positive file list (`lib/` and the three root documents), so nothing below the root can enter the gem.
14
+ - The gem describes Poetry as the AI-native frontend framework for Rails.
15
+
3
16
  ## [0.1.5] - 2026-09-18
4
17
 
5
18
  Lockstep release with the family; no changes in this gem.
data/README.md CHANGED
@@ -1,26 +1,37 @@
1
1
  # poetry
2
2
 
3
- An AI-native, Rails-first component library — a shadcn/ui-parity design system built on ViewComponent, Hotwire, and Tailwind, designed so coding agents compose UI inside a constrained design system.
3
+ The AI-native frontend framework for Rails — a shadcn/ui-parity design system and component library built on ViewComponent, Hotwire, and Tailwind, designed so coding agents compose UI inside a constrained design system.
4
4
 
5
5
  Documentation, live component previews, and guides are at [poetryui.com](https://poetryui.com).
6
6
 
7
7
  This is the umbrella gem. One line installs the library proper: the engine, the components, and the default icon set. Everything else in the ecosystem is opt-in and listed below.
8
8
 
9
+ ## Repository layout
10
+
11
+ This repository holds the whole family. Each gem keeps its own bundle, tests and gates, and resolves its siblings from the tree beside it.
12
+
13
+ - `gems/` — poetry-core, poetry-lucide, poetry-charts, poetry-extract, poetry-ui, poetry-agent and poetry-simple_form, one directory each
14
+ - `site/` — the poetryui.com app, documenting and testing the family from the tree
15
+ - `tools/releaser/` — the release tooling; `VERSION` at the root is the single source of truth for all eight gems
16
+ - this directory — the umbrella gem
17
+
18
+ Work inside a gem's directory: `bundle install`, then `bundle exec rake` runs its default chain. At the root, `bundle exec rake family` runs every gem's chain in publish order, then the site's, then the umbrella's.
19
+
9
20
  ## What the umbrella installs
10
21
 
11
- ### [poetry-core](https://github.com/roboruby/poetry-core) — the engine and the component DSL
22
+ ### [poetry-core](https://github.com/roboruby/poetry/tree/main/gems/poetry-core) — the engine and the component DSL
12
23
 
13
24
  The framework layer every other gem builds on. It ships the Rails engine, the `Component` base class, and the DSL that gives a component its vocabulary: style axes with variants, typed options, named parts, and slots, each of which projects into the machine-readable registry. The Stimulus integration lives here too, with the `use_stimulus` declarations that wire controllers, targets, values, and actions from Ruby, plus the vendored positioning engine the overlays share.
14
25
 
15
26
  Core also owns the design-token foundation: the semantic token set, the Tailwind theme layer built from it, and the `DESIGN.md` interop that lets a theme round-trip as a document. The preview and testing infrastructure, the registry builder, and the agent-text generators (the `llms.txt` projection and the installable skills) are shared here so every gem in the family speaks with one voice.
16
27
 
17
- ### [poetry-ui](https://github.com/roboruby/poetry-ui) — the components
28
+ ### [poetry-ui](https://github.com/roboruby/poetry/tree/main/gems/poetry-ui) — the components
18
29
 
19
30
  The component library itself: 88 components covering forms, overlays, data display, feedback, navigation, chat, and layout, built entirely on poetry-core's public DSL and exposed to views as `poetry_*` helpers. Every component is accessible by construction, themeable through the token layer, and legible to agents through the registry that the helpers, the docs, and the MCP tools all read.
20
31
 
21
32
  Beyond components it carries nine complete visual themes, a model-bound form builder that derives labels, hints, errors, and aria from the model (`form_with(model:, builder: Poetry::Ui::FormBuilder)`), eight vetted blocks for whole screens (app shell, top nav, page header, data index, section card, stepper, action bar, destructive panel), and the agent surface: the `poetry:install` generator that writes the Claude Code skills, `bin/rails poetry:check` for verifying composed markup, and the registry served for `poetry:add`.
22
33
 
23
- ### [poetry-lucide](https://github.com/roboruby/poetry-lucide) — the default icon set
34
+ ### [poetry-lucide](https://github.com/roboruby/poetry/tree/main/gems/poetry-lucide) — the default icon set
24
35
 
25
36
  Lucide's 1,745 icons, vendored at a pinned upstream commit and sanitized at vendor time, so rendering an icon never parses SVG, never sanitizes, and never touches the network. The set registers with poetry-core's icon registry, which is what `poetry_icon(:"circle-check")` and every icon-bearing component resolve against. A wrong name raises in development with a did-you-mean suggestion, `bin/rails poetry:check` catches literal names before that, and in production a configured fallback glyph renders instead of a 500.
26
37
 
@@ -42,7 +53,7 @@ The generator wires the engine, the Tailwind entry point, and the importmap pins
42
53
 
43
54
  Add what you use; nothing here is pulled in by the umbrella. The family releases in lockstep, and every gem pins its siblings to its own version, so add these without version constraints and Bundler resolves them to the umbrella's release.
44
55
 
45
- ### [poetry-charts](https://github.com/roboruby/poetry-charts) — server-rendered SVG charts
56
+ ### [poetry-charts](https://github.com/roboruby/poetry/tree/main/gems/poetry-charts) — server-rendered SVG charts
46
57
 
47
58
  Eight chart types (area, bar, line, pie, radar, radial bar, scatter, composed) whose geometry is computed in Ruby: data to domains to scales to ticks to points to paths, with d3-scale and d3-shape semantics and recharts' nice ticks. The finished chart ships in the initial HTML, so it is valid with JavaScript disabled, in print, in PDFs, and in email, and it is themed by CSS variables so dark mode flips without a re-render.
48
59
 
@@ -52,7 +63,7 @@ A small Stimulus layer adds tooltips, legends, and active states by reading coor
52
63
  gem "poetry-charts"
53
64
  ```
54
65
 
55
- ### [poetry-agent](https://github.com/roboruby/poetry-agent) — the agent surfaces
66
+ ### [poetry-agent](https://github.com/roboruby/poetry/tree/main/gems/poetry-agent) — the agent surfaces
56
67
 
57
68
  Every surface through which an agent reaches the component contract, projected from the same registry the other gems build. Five ship: the boot-free `poetry-agent` MCP server for coding agents (`compose`, `build_page`, `describe_component`, `check`, `get_skill`, and friends over stdio, with an HTTP mount for hosted agents); the WebMCP runtime, which registers a rendered component's declared tools with the browser's agent when a call opts in; the AG-UI relay, a Rails client of the Agent-User Interaction protocol that runs an agent and renders its events as Turbo Streams; the A2UI catalog, which projects the registry into an A2UI catalog document; and the A2UI renderer, which folds an agent's surface messages into rendered Poetry components.
58
69
 
@@ -62,7 +73,7 @@ Loading the gem is the integration: it registers its controllers with poetry-cor
62
73
  gem "poetry-agent"
63
74
  ```
64
75
 
65
- ### [poetry-extract](https://github.com/roboruby/poetry-extract) — domain in, theme out
76
+ ### [poetry-extract](https://github.com/roboruby/poetry/tree/main/gems/poetry-extract) — domain in, theme out
66
77
 
67
78
  Point it at a public website and get back a `DESIGN.md` document plus deterministic design tokens, ready for Poetry's AA-gated theme importer. It fetches the site's styleguide, brand, screenshot, and homepage markdown, composes the `DESIGN.md` in one Claude call, derives a Tailwind v4 theme and CSS `:root` tokens deterministically from it, and hands the result to the importer that refuses any theme failing the contrast gate.
68
79
 
@@ -74,7 +85,7 @@ gem "poetry-extract"
74
85
  bin/rails "poetry:design:extract[stripe.com]"
75
86
  ```
76
87
 
77
- ### [poetry-simple_form](https://github.com/roboruby/poetry-simple_form) — the migration bridge
88
+ ### [poetry-simple_form](https://github.com/roboruby/poetry/tree/main/gems/poetry-simple_form) — the migration bridge
78
89
 
79
90
  For apps already on simple_form. One initializer re-maps every simple_form input type onto classes that render whole Poetry fields through the form builder, so existing `f.input` and `f.association` calls keep working, now with label, hint, error, and aria derived from the model exactly as the native builder does. The controls simple_form never had are one `as:` away, `simple_form.*` i18n keys keep resolving, and removing the initializer restores stock rendering instantly. The bridge exists so views can migrate to the native builder at their own pace.
80
91
 
@@ -4,5 +4,5 @@ module Poetry
4
4
  # The family's shared version. Every sibling gem pins its Poetry
5
5
  # dependencies to exactly this number, and the umbrella's three runtime
6
6
  # dependencies follow it, so one `bundle update poetry` moves the set.
7
- VERSION = "0.1.5"
7
+ VERSION = "0.1.7"
8
8
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poetry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Solt
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2026-09-20 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: poetry-core
@@ -15,42 +15,42 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.1.5
18
+ version: 0.1.7
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.1.5
25
+ version: 0.1.7
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: poetry-lucide
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - '='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.1.5
32
+ version: 0.1.7
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.5
39
+ version: 0.1.7
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: poetry-ui
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: 0.1.5
46
+ version: 0.1.7
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 0.1.5
53
+ version: 0.1.7
54
54
  description: 'The Poetry umbrella gem: installs poetry-core (the Rails engine and
55
55
  component DSL), poetry-ui (the accessible, themeable, agent-legible component library)
56
56
  and poetry-lucide (the default icon set) together.'
@@ -60,8 +60,6 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - ".yard-lint.yml"
64
- - ".yard_coverage_all"
65
63
  - CHANGELOG.md
66
64
  - LICENSE.txt
67
65
  - README.md
@@ -93,5 +91,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
91
  requirements: []
94
92
  rubygems_version: 4.0.20
95
93
  specification_version: 4
96
- summary: 'Poetry: the AI-native UI component library for Rails.'
94
+ summary: 'Poetry: the AI-native frontend framework for Rails.'
97
95
  test_files: []
data/.yard-lint.yml DELETED
@@ -1,25 +0,0 @@
1
- # yard-lint: the documentation tier YARD's own gates miss - a documented
2
- # method missing a @param, an @example that does not parse, option tags,
3
- # tag order, invalid types. Runs as rake yard:lint (in the default task).
4
- # UndocumentedObjects stays off: yard:coverage gates public objects at its
5
- # recorded floor, and this validator counts the @api private internals the
6
- # gems hide on purpose (--hide-api is not honoured here). MissingReturn is
7
- # off until the @param backlog is cleared; revisit then.
8
- AllValidators:
9
- YardOptions:
10
- - --no-private
11
- Documentation/UndocumentedObjects:
12
- Enabled: false
13
- Documentation/MissingReturn:
14
- Enabled: false
15
- Tags/InvalidTypes:
16
- Enabled: true
17
- # A **options splat passed through to a control is documented as @param
18
- # options [Hash], not one @option per key; and @example blocks here are
19
- # ERB as often as Ruby, which this validator cannot parse.
20
- Documentation/UndocumentedOptions:
21
- Enabled: false
22
- Tags/OptionTags:
23
- Enabled: false
24
- Tags/ExampleSyntax:
25
- Enabled: false
data/.yard_coverage_all DELETED
@@ -1 +0,0 @@
1
- 0