Skip to content

Commit 2282def

Browse files
committed
docs: clarify project identity and publish "what this is"
- Update README.adoc with clear identity box at top explaining Spindle is a Haskell-Nickel config parser (not Ada, not a registry) - Add WARNING box explaining why repo is named ada-loom-registry - Add Repository Rename section with migration path - Create IDENTITY.adoc dedicated page explaining the naming situation - Update spindle.cabal with accurate metadata and description - Update ROADMAP.adoc to prioritize rename decision Addresses the confusing repository name by making the project's actual purpose immediately clear to anyone who lands on the repo.
1 parent 2308dbe commit 2282def

File tree

4 files changed

+146
-18
lines changed

4 files changed

+146
-18
lines changed

IDENTITY.adoc

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
= Project Identity
3+
4+
== What This Project Is
5+
6+
[cols="1,3"]
7+
|===
8+
|*Name* |Spindle
9+
|*Type* |Haskell library/CLI tool
10+
|*Purpose* |Parse Nickel configuration files into type-safe Haskell data structures
11+
|*Language* |Haskell (GHC 9.6+)
12+
|*Key Dependency* |`hnickel` (Nickel language bindings)
13+
|===
14+
15+
== What This Project Is NOT
16+
17+
* *NOT* an Ada programming language project
18+
* *NOT* related to textile looms or weaving
19+
* *NOT* a package registry of any kind
20+
* *NOT* related to the repository name `ada-loom-registry`
21+
22+
== Why The Confusing Repository Name?
23+
24+
The repository was created as `ada-loom-registry` as a placeholder before the project scope was defined. The name was a creative placeholder combining:
25+
26+
* "Ada" - a reference to Ada Lovelace (not the language)
27+
* "Loom" - metaphor for weaving/combining (not textiles)
28+
* "Registry" - original concept that was abandoned
29+
30+
The actual project that emerged is *Spindle*, which parses Nickel configs. The "spindle" name maintains the weaving metaphor (spindles are used in spinning thread) while accurately reflecting the tool's function.
31+
32+
== Repository Rename Plan
33+
34+
|===
35+
|*Current* |`ada-loom-registry`
36+
|*Target* |`spindle` or `spindle-nickel`
37+
|*When* |Before v1.0.0 release
38+
|===
39+
40+
The rename is pending because:
41+
42+
1. CI/CD pipelines currently reference the existing name
43+
2. A potential merge with the `scaffoldia` project is under consideration
44+
3. We want to choose a permanent name (avoiding multiple renames)
45+
46+
== Quick Reference
47+
48+
If you found this repository and are confused:
49+
50+
* *Looking for Ada code?* This isn't it.
51+
* *Looking for a registry?* This isn't it.
52+
* *Looking for a Nickel config parser in Haskell?* You're in the right place.
53+
54+
See link:README.adoc[README.adoc] for usage instructions.

README.adoc

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,33 @@
11
// SPDX-License-Identifier: BSD-3-Clause
2-
= Spindle: Haskell-Nickel Configuration Parser
2+
= Spindle
33
:toc: macro
44
:toclevels: 3
55
:icons: font
66
:source-highlighter: rouge
77

8-
[IMPORTANT]
8+
[.lead]
9+
*A Haskell library for parsing Nickel configuration files into type-safe data structures.*
10+
11+
[cols="1,3"]
12+
|===
13+
|*Project Name* |Spindle
14+
|*What It Does* |Parses https://nickel-lang.org/[Nickel] configs → Haskell types via Aeson/JSON
15+
|*Language* |Haskell (GHC 9.6+)
16+
|*License* |BSD-3-Clause
17+
|*Status* |Early Development (~15% complete)
18+
|===
19+
20+
[WARNING]
921
====
10-
*Repository Name Mismatch:* This repository is named `ada-loom-registry` but contains a Haskell project called *Spindle* -- it is NOT an Ada project, not a textile/loom project, and not a package registry.
22+
*Why is this repo called `ada-loom-registry`?*
23+
24+
This repository was created under a placeholder name before the project scope was defined. The actual project is *Spindle*, a Haskell-Nickel configuration parser.
25+
26+
* *NOT* an Ada programming language project
27+
* *NOT* a textile/loom/weaving project
28+
* *NOT* a package registry
29+
30+
The repository will be renamed to `spindle` or `spindle-nickel` in a future release. See <<repository-rename>> for details.
1131
====
1232

1333
toc::[]
@@ -99,7 +119,7 @@ data Config = Config
99119

100120
[source]
101121
----
102-
ada-loom-registry/ # Repository (misnamed)
122+
spindle/ # (current repo: ada-loom-registry)
103123
+-- app/
104124
| +-- Main.hs # CLI entry point & core logic
105125
+-- config/
@@ -314,6 +334,9 @@ just lint # Run hlint
314334
|===
315335
|Document |Purpose
316336

337+
|link:IDENTITY.adoc[IDENTITY.adoc]
338+
|What this project is (and isn't) - explains the repo name
339+
317340
|link:ROADMAP.adoc[ROADMAP.adoc]
318341
|Development phases and milestones
319342

@@ -333,6 +356,33 @@ just lint # Run hlint
333356
|Rollback procedures
334357
|===
335358

359+
[[repository-rename]]
360+
== Repository Rename
361+
362+
This repository is currently named `ada-loom-registry` due to its origin as a placeholder project. A rename is planned:
363+
364+
[cols="1,2"]
365+
|===
366+
|*Current Name* |`ada-loom-registry`
367+
|*Target Name* |`spindle` or `spindle-nickel`
368+
|*Timeline* |Phase 1 (before first stable release)
369+
|===
370+
371+
=== Migration Path
372+
373+
When the rename occurs:
374+
375+
1. GitHub will automatically redirect the old URL
376+
2. All `git remote` URLs will need updating
377+
3. The `spindle.cabal` homepage/bug-reports URLs will be updated
378+
4. Hackage publication will use the new name
379+
380+
=== Why Not Rename Now?
381+
382+
* Existing CI/CD pipelines reference current name
383+
* Pending decision on merge with `scaffoldia` project
384+
* Want to ensure new name is permanent
385+
336386
== License
337387

338388
BSD-3-Clause (see link:LICENSE.txt[LICENSE.txt])

ROADMAP.adoc

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,14 +293,29 @@ Decision point: Merge into scaffoldia or remain standalone?
293293

294294
== Decision Points
295295

296+
=== Repository Rename (PRIORITY)
297+
298+
[IMPORTANT]
299+
====
300+
The current repository name `ada-loom-registry` does not reflect the project's purpose. See link:IDENTITY.adoc[IDENTITY.adoc] for full context.
301+
====
302+
303+
[cols="1,3"]
304+
|===
305+
|*Current Name* |`ada-loom-registry`
306+
|*Proposed Names* |`spindle`, `spindle-nickel`, `haskell-nickel-parser`
307+
|*Decision Deadline* |Phase 1 completion
308+
|*Blocking Factor* |Scaffoldia merger decision
309+
|===
310+
311+
*Recommended action:* Rename to `spindle` unless merger with scaffoldia is confirmed.
312+
313+
=== Other Decisions
314+
296315
[cols="1,2,2"]
297316
|===
298317
|Decision |Options |Deadline
299318

300-
|Repository rename
301-
|`spindle-nickel-parser` vs keep `ada-loom-registry`
302-
|Phase 1
303-
304319
|Merge with scaffoldia
305320
|Merge vs Standalone library
306321
|Phase 5 start

spindle.cabal

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,31 @@
11
cabal-version: 2.2
22
name: spindle
33
version: 0.1.0.0
4-
description: Please see the README on GitHub at <https://github.com/githubuser/spindle#readme>
5-
homepage: https://github.com/githubuser/spindle#readme
6-
bug-reports: https://github.com/githubuser/spindle/issues
7-
author: Author name here
8-
maintainer: example@example.com
9-
copyright: 2024 Author name here
4+
synopsis: Parse Nickel configuration files into Haskell types
5+
description:
6+
Spindle is a Haskell library for parsing, evaluating, and converting
7+
Nickel configuration files into type-safe Haskell data structures.
8+
It bridges Nickel's contract-based configuration with Haskell's type system.
9+
.
10+
NOTE: This package is hosted in a repository currently named @ada-loom-registry@
11+
due to historical reasons. The repository will be renamed to @spindle@ before
12+
the first stable release.
13+
category: Configuration, Data
14+
homepage: https://github.com/hyperpolymath/ada-loom-registry#readme
15+
bug-reports: https://github.com/hyperpolymath/ada-loom-registry/issues
16+
author: Hyperpolymath Contributors
17+
maintainer: hyperpolymath@users.noreply.github.com
18+
copyright: 2024-2025 Hyperpolymath Contributors
1019
license: BSD-3-Clause
11-
license-file: LICENSE
20+
license-file: LICENSE.txt
1221
build-type: Simple
1322
extra-source-files:
14-
README.md
15-
CHANGLOG.md
23+
README.adoc
24+
CHANGELOG.md
1625

1726
source-repository head
1827
type: git
19-
location: https://github.com/githubuser/spindle
28+
location: https://github.com/hyperpolymath/ada-loom-registry
2029

2130
executable spindle
2231
main-is: Main.hs

0 commit comments

Comments
 (0)