HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
metosin
spec-tools
Clojure2019–2020
metosin / spec-tools

spec-tools

Clojure(Script) tools for clojure.spec

2Distinct people
2Mentions
0Explicit recommenders
607GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Clojure(Script) tools for clojure.spec

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2019-08-17 21:17:39 UTC to 2020-02-21 05:37:16 UTC. Weeks start Monday, UTC.

012019-08-12 00:00:00 UTC to 2019-08-19 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 122019-08-19 00:00:00 UTC to 2019-08-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-08-26 00:00:00 UTC to 2019-09-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-09-02 00:00:00 UTC to 2019-09-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-09-09 00:00:00 UTC to 2019-09-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-09-16 00:00:00 UTC to 2019-09-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-09-23 00:00:00 UTC to 2019-09-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-09-30 00:00:00 UTC to 2019-10-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-10-07 00:00:00 UTC to 2019-10-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-10-14 00:00:00 UTC to 2019-10-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-10-21 00:00:00 UTC to 2019-10-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-10-28 00:00:00 UTC to 2019-11-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-11-04 00:00:00 UTC to 2019-11-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-11-11 00:00:00 UTC to 2019-11-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsNov 112019-11-18 00:00:00 UTC to 2019-11-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-11-25 00:00:00 UTC to 2019-12-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-02 00:00:00 UTC to 2019-12-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-09 00:00:00 UTC to 2019-12-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-16 00:00:00 UTC to 2019-12-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-23 00:00:00 UTC to 2019-12-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-30 00:00:00 UTC to 2020-01-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-06 00:00:00 UTC to 2020-01-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-13 00:00:00 UTC to 2020-01-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-20 00:00:00 UTC to 2020-01-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-27 00:00:00 UTC to 2020-02-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-02-03 00:00:00 UTC to 2020-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-02-10 00:00:00 UTC to 2020-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-02-17 00:00:00 UTC to 2020-02-24 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 17

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 122019-08-12 00:00:00 UTC2019-08-19 00:00:00 UTC101
Aug 192019-08-19 00:00:00 UTC2019-08-26 00:00:00 UTC000
Aug 262019-08-26 00:00:00 UTC2019-09-02 00:00:00 UTC000
Sep 22019-09-02 00:00:00 UTC2019-09-09 00:00:00 UTC000
Sep 92019-09-09 00:00:00 UTC2019-09-16 00:00:00 UTC000
Sep 162019-09-16 00:00:00 UTC2019-09-23 00:00:00 UTC000
Sep 232019-09-23 00:00:00 UTC2019-09-30 00:00:00 UTC000
Sep 302019-09-30 00:00:00 UTC2019-10-07 00:00:00 UTC000
Oct 72019-10-07 00:00:00 UTC2019-10-14 00:00:00 UTC000
Oct 142019-10-14 00:00:00 UTC2019-10-21 00:00:00 UTC000
Oct 212019-10-21 00:00:00 UTC2019-10-28 00:00:00 UTC000
Oct 282019-10-28 00:00:00 UTC2019-11-04 00:00:00 UTC000
Nov 42019-11-04 00:00:00 UTC2019-11-11 00:00:00 UTC000
Nov 112019-11-11 00:00:00 UTC2019-11-18 00:00:00 UTC000
Nov 182019-11-18 00:00:00 UTC2019-11-25 00:00:00 UTC000
Nov 252019-11-25 00:00:00 UTC2019-12-02 00:00:00 UTC000
Dec 22019-12-02 00:00:00 UTC2019-12-09 00:00:00 UTC000
Dec 92019-12-09 00:00:00 UTC2019-12-16 00:00:00 UTC000
Dec 162019-12-16 00:00:00 UTC2019-12-23 00:00:00 UTC000
Dec 232019-12-23 00:00:00 UTC2019-12-30 00:00:00 UTC000
Dec 302019-12-30 00:00:00 UTC2020-01-06 00:00:00 UTC000
Jan 62020-01-06 00:00:00 UTC2020-01-13 00:00:00 UTC000
Jan 132020-01-13 00:00:00 UTC2020-01-20 00:00:00 UTC000
Jan 202020-01-20 00:00:00 UTC2020-01-27 00:00:00 UTC000
Jan 272020-01-27 00:00:00 UTC2020-02-03 00:00:00 UTC000
Feb 32020-02-03 00:00:00 UTC2020-02-10 00:00:00 UTC000
Feb 102020-02-10 00:00:00 UTC2020-02-17 00:00:00 UTC000
Feb 172020-02-17 00:00:00 UTC2020-02-24 00:00:00 UTC101

What Hacker News says

2 sources
Hm the /amount/ of syntax isn't something I think about I guess, this being a Lisp. I think they've taken the approach of making the system thorough and capable and this being a Lisp, we users can skin it with any level of shorthand that we please. Datomic (the database from Cognitect) has a similar approach with its schema, which is quite verbose, but many folks that I know tend to simply write a function which spits out the schema, since it's 'just data'. I tend to use Ghostwheel [1], but there's also spec-tools [2] and others. [1]: https://github.com/gnl/ghostwheel [2]: https://github.com/metosin/spec-tools
In State of Clojure 2020
I’ve recently built a thing at work to generate an OpenAPI spec from Clojure specs and some annotations, which worked out surprisingly well. We already have a collection of endpoints through compojure, and we just spec the handler functions and add some annotations for docstrings, and that’s basically it. As an added bonus we have the test suite validate all api calls against the spec, so in theory the OpenAPI spec should always be accurate. For the curious, we took and hacked https://github.com/metosin/spec-tools to output OpenAPI 3, and added a very thin shim to hook that up to our routes.
In Taming OpenAPI using Racket to create a DSL

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.