Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
9fcabbe
refactor: set up initial turbo repo structure WIP
hobbescodes Jun 13, 2025
a24af51
refactor: add typescript-config and ui workspace packages
hobbescodes Jun 13, 2025
e9bf78c
chore: update configurations
hobbescodes Jun 13, 2025
ec0ef8b
refactor: update css variables and fix rendering issues
hobbescodes Jun 13, 2025
01e785f
refactor: update biome config, fix errors
hobbescodes Jun 13, 2025
5a73789
refactor: update some global styles
hobbescodes Jun 13, 2025
1d764bf
refactor: adjust configs
hobbescodes Jun 13, 2025
a4a4a14
feature(apps): set up base for library
hobbescodes Jun 13, 2025
1c9b33d
feature(apps): update library to ship valid Garden comp WIP
hobbescodes Jun 14, 2025
9a77258
chore: fix file extensions
hobbescodes Jun 14, 2025
426e267
refactor: add option for expanding subgardens through props
hobbescodes Jun 15, 2025
a13009a
refactor: add initial garden prop back in
hobbescodes Jun 15, 2025
8983c7d
refactor: update default styles
hobbescodes Jun 15, 2025
a857744
refactor: update calculateNodeHeight to properly handle auto layout
hobbescodes Jun 15, 2025
5d240c9
feature: add toggle expand to controls
hobbescodes Jun 15, 2025
6277160
refactor: adjust logic for expand, add theme to minimap for recursive…
hobbescodes Jun 15, 2025
3cdc979
fix: properly bundle css with postcss plugin for lib, axe components …
hobbescodes Jun 15, 2025
240525a
refactor(web): simplify demo garden
hobbescodes Jun 15, 2025
f24040b
refactor(web): extract css to globals
hobbescodes Jun 16, 2025
545839b
refactor(web): update garden styles to use custom layer
hobbescodes Jun 16, 2025
ca5caed
fix: revert css changes
hobbescodes Jun 16, 2025
55d742b
refactor(web): update rotating text dynamic style usage
hobbescodes Jun 16, 2025
3d2928c
refactor(web): fix layout styles
hobbescodes Jun 16, 2025
ce326df
fix(library): update node heights
hobbescodes Jun 16, 2025
977559c
chore(bun): update lock file
coopbri Jun 16, 2025
2540798
feature: add logo
coopbri Jun 16, 2025
5b40737
refactor(lib): extract individual node React components
coopbri Jun 16, 2025
13ab307
chore: reorder exports
coopbri Jun 16, 2025
3efb393
feature(lib): add JSON schema support
hobbescodes Jun 16, 2025
46c4225
refactor(lib): update globals css, use type import syntax
hobbescodes Jun 16, 2025
4ca94b7
refactor(lib): inject css
hobbescodes Jun 16, 2025
50ad554
refactor(lib): adjust name of css file
hobbescodes Jun 17, 2025
029b953
refactor(web): update visualizer and apply schema edits
hobbescodes Jun 17, 2025
f940e4b
refactor(web): only show editor actions in editor tab
hobbescodes Jun 17, 2025
c6f4d18
refactor(web): persist active garden state to local storage
hobbescodes Jun 17, 2025
6058c1c
refactor(web): only load Garden in visualizer on client to pick up pr…
hobbescodes Jun 17, 2025
03b1e4b
refactor: isolate shadcn configs, add prefix to lib styles
hobbescodes Jun 17, 2025
02e4a4b
fix(web): fix build issue
hobbescodes Jun 17, 2025
54231be
chore: lint and format files
hobbescodes Jun 17, 2025
ef66ab9
refactor(web): update border color for demo
hobbescodes Jun 17, 2025
67b57d8
refactor(lib): ship styles separately for custom override functionali…
hobbescodes Jun 17, 2025
ce8dcbc
refactor: update types for GardenProps, update activeGarden --> activ…
hobbescodes Jun 17, 2025
9809dc3
refactor: remove packages workspace
hobbescodes Jun 17, 2025
f3fcd12
refactor: isolate dependencies in apps
hobbescodes Jun 17, 2025
839d73b
refactor(lib): add knip config
hobbescodes Jun 17, 2025
476b739
refactor(knip): enable biome plugins
hobbescodes Jun 17, 2025
7df436e
feature(lib): add changesets support
hobbescodes Jun 17, 2025
8b179b9
refactor(cli): update to recursively reference Garden
hobbescodes Jun 17, 2025
c6112eb
fix(lib): update handleNodeClick to properly use expandSubgardens def…
hobbescodes Jun 17, 2025
70f2b3c
refactor(Web): adjust tab styles
hobbescodes Jun 17, 2025
9943f0b
refactor: add github workflows back in
hobbescodes Jun 17, 2025
a2ff260
feature: add husky
hobbescodes Jun 17, 2025
5902586
fix(changesets): move to root directory
hobbescodes Jun 17, 2025
ea8c088
refactor: adjust changesets, add pkg-pr-new dep
hobbescodes Jun 17, 2025
3240d8e
refactor: move changesets and pkg-pr-new deps, update knip config
hobbescodes Jun 17, 2025
34daf16
refactor(workflows): update publish workflow
hobbescodes Jun 17, 2025
edd99d0
refactor(workflows): update publish workflow
hobbescodes Jun 17, 2025
92ee3bf
refactor(workflows): update publish workflow
hobbescodes Jun 17, 2025
a1c99b2
refactor(workflows): update publish workflow
hobbescodes Jun 17, 2025
592584d
refactor(workflows): update publish workflow
hobbescodes Jun 17, 2025
9111f74
refactor: update changesets configuration
hobbescodes Jun 17, 2025
85f4cbb
style(features): change arrow directions
coopbri Jun 17, 2025
a7af32a
refactor(schema): use real Omni offerings
coopbri Jun 17, 2025
942db89
docs(readme): add logo
coopbri Jun 17, 2025
820698b
docs(readme): use semantic HTML
coopbri Jun 17, 2025
8e2ce9a
chore(changesets): remove README
coopbri Jun 17, 2025
919b2c3
chore(library,docs): remove empty README
coopbri Jun 17, 2025
bc60660
chore(library): update gitignore
coopbri Jun 17, 2025
66d2783
feature(footer): add docs link
coopbri Jun 17, 2025
b468e56
refactor(library): adjust item node image sizing
hobbescodes Jun 17, 2025
abff730
refactor(library): update item dialog images
hobbescodes Jun 17, 2025
7804d92
refactor(nodes): item node -> sprout node
coopbri Jun 17, 2025
a889cd8
refactor(cli): items -> sprouts
coopbri Jun 17, 2025
094a889
refactor(schema): items -> sprouts
coopbri Jun 17, 2025
26470c6
refactor: items -> sprouts in generated types
coopbri Jun 17, 2025
00fcf1d
refactor: items -> sprouts (WIP)
coopbri Jun 17, 2025
deace5e
refactor: items -> sprouts (WIP)
coopbri Jun 17, 2025
f8e8bae
refactor: items -> sprouts (WIP)
coopbri Jun 17, 2025
ab467fd
refactor(schema): make version optional
coopbri Jun 17, 2025
8be25ca
feature: add Tilt manifest
coopbri Jun 17, 2025
d5da301
chore(tilt): format
coopbri Jun 17, 2025
4e87adb
refactor(lib): update expand subgardens handler
hobbescodes Jun 17, 2025
47f5ba0
refactor(lib): add dev script for quick iteration testing
hobbescodes Jun 18, 2025
f2f78ee
feature(hero): add repo CTA
coopbri Jun 18, 2025
cc99e25
refactor(lib): update node styles
hobbescodes Jun 18, 2025
7127dd2
refactor(web): add generated llms.txt route
hobbescodes Jun 18, 2025
def138c
refactor(lib): remove transition from sprout nodes, update edge spacing
hobbescodes Jun 18, 2025
dea47de
refacotr(lib): updating scaling for subgarden node
hobbescodes Jun 18, 2025
3548fe0
chore: update gitignore
hobbescodes Jun 18, 2025
f7b8042
refactor: `GardenTypes` -> `GardenSchema`
coopbri Jun 18, 2025
0bda0c6
docs(readme): update docs
coopbri Jun 18, 2025
7e60eeb
refactor: extract common garden graph props
coopbri Jun 18, 2025
cbd5c70
feature: add 'Powered by Garden' badge
coopbri Jun 18, 2025
d2fe3c1
docs(readme): center key links
coopbri Jun 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
14 changes: 8 additions & 6 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json",
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"changelog": [
"@changesets/changelog-github",
{ "repo": "omnidotdev/garden" }
],
"commit": false,
"access": "public",
"baseBranch": "master",
"changelog": [
"@changesets/changelog-github",
{ "repo": "omnidotdev/garden" }
],
"commit": false
"updateInternalDependencies": "patch",
"ignore": ["@omnidotdev/garden-app"]
}
5 changes: 2 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ jobs:
- uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun i
working-directory: app
- name: Build package
run: bun --cwd app run build
run: bun run --cwd apps/library build
- name: Publish package
run: bunx --cwd app pkg-pr-new publish
run: bunx pkg-pr-new publish "./apps/library"
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ jobs:
- uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun i
working-directory: app
- name: Create release PR or publish package
id: changesets
uses: changesets/action@v1
with:
publish: bun --cwd app release
publish: bun --cwd apps/library release
title: "feature(release): version packages"
commit: "ci(changesets): version packages"
env:
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
/node_modules
node_modules

.turbo

# IDE
.zed
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
turbo check -- --staged --no-errors-on-unmatched
22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# 🌱 Garden

[TODO LOGO + DEMO IMAGE]
<div align="center">
<img src="/apps/web/public/img/logo.png" width="150" />

Garden is a specification for modeling an ecosystem (e.g. of products, services) as a directed acyclic graph with unlimited recursion and composability. This repository holds a CLI for generating the JSON schema in `cli`, and visualizer web app in `app`, powered by Next.js.
[Website](https://garden.omni.dev) | [Docs](https://docs.omni.dev/garden/overview)
</div>

For a reference implementation, check out the [Omniverse](https://verse.omni.dev) (coming soon).
Garden is a specification for modeling an ecosystem (e.g. of products, services) as a directed graph with unlimited recursion and composability. This repository holds a CLI for generating the JSON schema in `apps/cli`, a library published to `@omnidotdev/garden` in `apps/library`, and a visualizer web app in `apps/web`, powered by Next.js.

In the future, a `<Garden />` React component will be created as well as the ability to compose and nest gardens as "subgardens" within a "supergarden".
For a reference implementation, check out the [Omniverse](https://verse.omni.dev).

Garden layouting is currently powered by [ELK](https://rtsys.informatik.uni-kiel.de/elklive), more layouting engines will be supported in the future.

Expand All @@ -21,15 +23,15 @@ Garden layouting is currently powered by [ELK](https://rtsys.informatik.uni-kiel

## Generate the Schema

`cd cli`, then `cargo run -- $OUTPUT_FILE`. For example, `cargo run -- ../garden.schema.json`.
`cd apps/cli`, then `cargo run -- $OUTPUT_FILE`. For example, `cargo run -- ../garden.schema.json`.

## Local Development (Web App)
## Local Development (Library and Web App)

The app is a landing page and visualizer for Garden schemas. `cd app`, then continue below.

### Generate Types from Schema

`bun generate`
`cd apps/library && bun generate`

### Building and Running

Expand All @@ -38,7 +40,11 @@ bun install
```

```sh
bun run dev
bun turbo build
```

```sh
bun turbo dev
```

## Inspiration
Expand Down
16 changes: 16 additions & 0 deletions Tiltfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
local_resource(
'install',
cmd='bun i',
)


local_resource(
'build',
cmd='bun turbo build',
)


local_resource(
'dev',
cmd='bun turbo dev',
)
4 changes: 0 additions & 4 deletions app/.vscode/settings.json

This file was deleted.

53 changes: 0 additions & 53 deletions app/biome.jsonc

This file was deleted.

Loading