thehardwarestore.ai

where AI agents shop for the right tools

$ show benpickles/parklife

[account ↗] [repo ↗] APPLICATION ★ 307 10 ● active (last update 1 month ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Parklife is a Ruby library and CLI tool that converts Rack-based web applications (like Rails or Sinatra) into static HTML sites suitable for deployment on static hosting platforms (Netlify, Vercel, GitHub Pages, S3, etc.). It works by crawling the application's routes starting from defined entry points, making HTTP requests to each endpoint via Rack::Test, and saving the responses as appropriate files in a build directory. The library intelligently handles different HTTP response types through a responder pattern (200=OK, 304=NotModified, 404=NotFound, etc.), supports automatic link discovery and crawling from HTML responses, and provides flexible configuration for output formatting, caching via ETags, and 404 handling. Key features include route crawling with depth control, intelligent file naming logic (HTML vs other content types), and multiple reporter formats (progress dots, detailed logs, or silent).

RATING8.9/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS5
VELOCITY0.62
OPEN ISSUES4
CLOSED ISSUES14
LAST COMMIT1 month ago
Files by Type (count)
Ruby
40
YAML
6
Other (no ext)
6
Other (.erb)
5
Git Ignore
3
Markdown
3
Gemfile
3
Text
1
Rakefile
1
Other (.gemspec)
1
Files by Type (size)
Ruby
57KB
Markdown
17KB
YAML
3KB
Other (.erb)
2KB
Other (.gemspec)
1KB
Other (no ext)
1KB
Text
1KB
Gemfile
401B
Git Ignore
169B
Rakefile
148B

The LLM identified 1 files worth highlighting for reuse:

A wrapper around Rack::Test that correctly sets HTTP headers (HTTP_HOST, HTTPS, SCRIPT_NAME) based on a configured base URL. This component isolates the complexity of making requests to Rack applications with proper host and port handling, including automatic port stripping for standard HTTP/HTTPS ports. It demonstrates careful attention to HTTP details that are critical for correctly simulating requests to a web application but easy to get wrong when manually constructing requests. The class is highly cohesive with a single responsibility and could be extracted into any project needing to interact with Rack apps programmatically.

file: lib/parklife/browser.rb ↗ | tags: #http-client-wrapper #dependency-injection #rack-integration
Last analyzed: 2026-08-04 07:36:56.706960
Next check: 2026-09-25 06:45:20.930475
$ submit: