Skip to content

feat: enhance build-docs utility with pnpm and Nix support#8574

Open
kalbasit wants to merge 1 commit intoTriliumNext:mainfrom
kalbasit:build-docs-enhancements
Open

feat: enhance build-docs utility with pnpm and Nix support#8574
kalbasit wants to merge 1 commit intoTriliumNext:mainfrom
kalbasit:build-docs-enhancements

Conversation

@kalbasit
Copy link
Contributor

@kalbasit kalbasit commented Feb 1, 2026

This enhances the build-docs utility to allow running it via pnpm and packaging it as a Nix application. Changes include:

  • Added build and cli scripts to apps/build-docs/package.json.
  • Implemented a standalone CLI wrapper for documentation generation.
  • Added a trilium-build-docs package to the Nix flake for use in other projects.
  • Integrated apps/build-docs into the Nix workspace and build pipeline.

These changes make the documentation build process more portable and easier to integrate into CI/CD pipelines outside of the main repository. I plan to use this to complement edit-docs in ncps to automatically build the website and push it from a CI job.

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Feb 1, 2026
@dosubot
Copy link

dosubot bot commented Feb 1, 2026

Related Documentation

No published documentation to review for changes on this repository.

Write your first living document

How did I do? Any feedback?  Join Discord

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kalbasit, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly upgrades the build-docs utility, transforming it into a more robust and portable tool. The core change is the introduction of a configuration-driven documentation generation process, moving away from hardcoded paths and formats. This, coupled with full Nix integration and a new command-line interface, makes the utility much easier to use in diverse environments, especially for CI/CD pipelines, by providing a standardized and configurable way to build documentation from Trilium notes.

Highlights

  • Nix Integration: The build-docs utility is now fully integrated into the Nix flake, allowing it to be packaged and run as a standalone Nix application. This includes adding apps/build-docs to the Nix workspace and defining a new trilium-build-docs package.
  • Configurable Documentation Builds: The documentation build process has been enhanced to support configuration via an edit-docs-config.yaml file. This allows users to define multiple note mappings, specifying root note IDs, output paths, formats (markdown, html, share), and ignored files, providing greater flexibility than the previous hardcoded approach.
  • Standalone CLI for build-docs: A new command-line interface (trilium-build-docs) has been introduced, enabling users to run the documentation build process directly from the terminal. It supports specifying a configuration file path and includes options for displaying help and version information.
  • Improved Build Scripts and Dependencies: New build and cli scripts have been added to apps/build-docs/package.json, along with a dedicated scripts/build.ts file to manage the TypeScript compilation and asset copying. The js-yaml dependency was added to facilitate configuration file parsing.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly enhances the build-docs utility by making it a standalone, configurable CLI tool with pnpm and Nix support. The changes are well-structured and align with the goal of improving portability for CI/CD integration.

I've added a few suggestions to improve code clarity and maintainability. Specifically, I've pointed out an opportunity to simplify the config loading logic, a duplicated log message, and a duplicated helper function that could be refactored into a shared utility.

Overall, this is a great contribution that makes the documentation build process more robust and easier to use.

This enhances the `build-docs` utility to allow running it via pnpm and
packaging it as a Nix application. Changes include:

- Added `build` and `cli` scripts to `apps/build-docs/package.json`.
- Implemented a standalone CLI wrapper for documentation generation.
- Added a `trilium-build-docs` package to the Nix flake for use in other projects.
- Integrated `apps/build-docs` into the Nix workspace and build pipeline.

These changes make the documentation build process more portable and easier
to integrate into CI/CD pipelines outside of the main repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant