Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,19 @@ To work on codegraph itself, run it from a clone instead — Node 22+, pnpm
(`corepack enable pnpm`), then the toolchain of each extractor you build:

```bash
git clone https://github.com/defsquare/codegraph.git && cd codegraph
git clone --recurse-submodules https://github.com/defsquare/codegraph.git && cd codegraph
pnpm install && pnpm -r build # the CLI (bin/codegraph) and the TypeScript extractor
(cd extractors/java && ./mvnw -B package) # Java: a JDK 17+; the wrapper, no local Maven needed
./build.sh --csharp # C#: the .NET 10 SDK
./build.sh --elixir # Elixir: Erlang/OTP 27 + Elixir
ln -s "$PWD/bin/codegraph" ~/.local/bin/codegraph # optional, works from a symlink
```

Already cloned without `--recurse-submodules`? Run
`git submodule update --init --recursive` first: the website's theme lives in
`website/themes/hextra` as a submodule, and with it missing Hugo aborts
`pnpm -r build` with `unknown output format "llms" for kind "home"`.

Now point it at some Java. Any tree of `.java` files works; it does not have
to build, and no JDK is needed.

Expand Down
6 changes: 6 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,16 @@
documentation at `/docs/`.

```bash
git submodule update --init --recursive # once per clone: fetches themes/hextra
hugo server -D --port 1314 # http://localhost:1314/ and /docs/
hugo --minify --gc # → public/
```

The theme is a git submodule, so a plain `git clone` leaves `themes/hextra`
empty and Hugo fails with `unknown output format "llms" for kind "home"` —
that format is declared by Hextra, not by this site. `pnpm -r build` runs the
Hugo build too, so the submodule must be initialised before it.

The two halves look nothing alike and that is deliberate: the landing page is
themeless and runs on the Defsquare Design System, the documentation runs on
[Hextra](https://github.com/imfing/hextra) (vendored at `themes/hextra` as a
Expand Down
Loading