@cruxgarden/cli 0.0.10 → 0.0.11
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 +21 -0
- package/docker/docker-compose.nursery.yml +1 -0
- package/lib/commands.js +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
<img src=".github/banner.jpg" alt="Crux Garden - Where Ideas Grow" width="100%">
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
|
+
## What is Crux Garden?
|
|
6
|
+
|
|
7
|
+
Crux Garden is a model of how ideas manifest and develop over time. The heart of the model is the **Crux**, an atomic representation of an idea. In our implementation, a Crux can be text, media, code, or any digital content worth preserving. But Cruxes, just like ideas, don't exist in isolation. Ideas have origins. They lead to new ideas. They evolve. And often, they randomly connect. So it is with Cruxes. In Crux Garden, there are four types of relationships Cruxes can have with each other. These are called **Dimensions**:
|
|
8
|
+
|
|
9
|
+
- **GATES** — Cruxes which influenced or inspired a Crux; its origins and sources.
|
|
10
|
+
- **GARDENS** — Cruxes which emerged or grew from a Crux, its creations and consequences.
|
|
11
|
+
- **GROWTH** — How a Crux developed over time, its transformation and refinement.
|
|
12
|
+
- **GRAFTS** — Cruxes which connect to a Crux laterally, its associations and resonances.
|
|
13
|
+
|
|
14
|
+
These four Dimensions capture the fundamental ways that Cruxes, or ideas, relate to one another.
|
|
15
|
+
|
|
16
|
+
The power of a system that models ideas at such a primitive scale is that literally any idea or framework of ideas can be realized inside Crux Garden: interactive fiction with evolving storylines, personal knowledge bases connecting insights across domains, product development roadmaps linking requirements to releases, research systems tracking citations and discoveries, or anything else where ideas have origins, consequences, transformation, and connection.
|
|
17
|
+
|
|
18
|
+
Along with Cruxes and Dimensions, there are several other types including Tags, Themes, and Paths. See the database schema in `db/schema.sql` or the API documentation at `/docs` for details.
|
|
19
|
+
|
|
20
|
+
For further reading on the goals and ambitions of Crux Garden, explore the history of the [Digital Garden](https://maggieappleton.com/garden-history) movement and the 1945 essay [As We May Think](https://en.wikipedia.org/wiki/As_We_May_Think) by Vannevar Bush.
|
|
21
|
+
|
|
22
|
+
Will Stepp, October 2025
|
|
23
|
+
|
|
24
|
+
## CLI
|
|
25
|
+
|
|
5
26
|
The Crux Garden CLI tool helps manage the Crux Garden Nursery environment with Docker.
|
|
6
27
|
|
|
7
28
|
The **Nursery** is a production-like demo environment with sample data, perfect for trials, demos, and showcasing features.
|
package/lib/commands.js
CHANGED
|
@@ -196,6 +196,9 @@ function parseAndSetEnvVars(envArgs = []) {
|
|
|
196
196
|
export async function startNursery(options, envVars) {
|
|
197
197
|
ensureDockerRunning();
|
|
198
198
|
|
|
199
|
+
// Ensure NURSERY_MODE is always set to true for nursery environment
|
|
200
|
+
process.env.NURSERY_MODE = 'true';
|
|
201
|
+
|
|
199
202
|
// Parse and set environment variables from command line
|
|
200
203
|
if (envVars && envVars.length > 0) {
|
|
201
204
|
console.log(chalk.cyan("\nApplying environment variables:"));
|
|
@@ -536,6 +539,9 @@ export async function resetNursery(envVars) {
|
|
|
536
539
|
return;
|
|
537
540
|
}
|
|
538
541
|
|
|
542
|
+
// Ensure NURSERY_MODE is always set to true for nursery environment
|
|
543
|
+
process.env.NURSERY_MODE = 'true';
|
|
544
|
+
|
|
539
545
|
// Parse and set environment variables from command line
|
|
540
546
|
if (envVars && envVars.length > 0) {
|
|
541
547
|
console.log(chalk.cyan("\nApplying environment variables:"));
|