chore: add scaffolding for libcups native module #43

Merged
davide merged 10 commits from chore/libcups-setup into main 2026-07-01 13:30:49 +00:00
Owner

TODO:

  • Add clang tools extra to check with clang format and clang tidy
  • Update ci workflows
TODO: - [x] Add clang tools extra to check with clang format and clang tidy - [x] Update ci workflows
chore: add scaffolding for libcups native module
All checks were successful
check-formatter.yaml / Checks with formatters (pull_request) Successful in 13s
check-linter.yaml / Checks with linters (pull_request) Successful in 15s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 24s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 3s
forgejo-agent / LLM Bot response generation (pull_request) Successful in 2s
check-build.yaml / Check that project builds (pull_request) Successful in 1m6s
check-commitizen.yaml / Check the PR title (pull_request) Successful in 2s
cd68848b62
chore: switch from cmake-js to meson
Some checks failed
check-build.yaml / Check that project builds (pull_request) Failing after 10s
check-formatter.yaml / Checks with formatters (pull_request) Failing after 11s
check-linter.yaml / Checks with linters (pull_request) Failing after 10s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-commitizen.yaml / Check the PR title (pull_request) Successful in 2s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 19s
f09c491a9e
chore: update ci image tags
Some checks failed
check-formatter.yaml / Checks with formatters (pull_request) Failing after 22s
check-linter.yaml / Checks with linters (pull_request) Failing after 8s
check-build.yaml / Check that project builds (pull_request) Failing after 52s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 20s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 5s
90897054e3
chore: use pnpm run -r
Some checks failed
check-formatter.yaml / Checks with formatters (pull_request) Failing after 9s
check-linter.yaml / Checks with linters (pull_request) Failing after 9s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 23s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-build.yaml / Check that project builds (pull_request) Successful in 1m9s
9d22cfefd7
ci: add setup step
All checks were successful
check-formatter.yaml / Checks with formatters (pull_request) Successful in 14s
check-linter.yaml / Checks with linters (pull_request) Successful in 18s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 24s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-build.yaml / Check that project builds (pull_request) Successful in 1m8s
da07b6b671
ci: add aggregate output
All checks were successful
check-formatter.yaml / Checks with formatters (pull_request) Successful in 13s
check-linter.yaml / Checks with linters (pull_request) Successful in 14s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 20s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-build.yaml / Check that project builds (pull_request) Successful in 1m10s
542fcc1e60
Author
Owner

@llm-bot can you check if README.md and AGENTS.md need updates, probably need to instruct to use pnpm -r like in the ci scripts.

@llm-bot can you check if README.md and AGENTS.md need updates, probably need to instruct to use pnpm -r like in the ci scripts.
docs: update README and AGENTS for pnpm workspace usage
All checks were successful
check-build.yaml / Check that project builds (pull_request) Successful in 1m7s
check-formatter.yaml / Checks with formatters (pull_request) Successful in 13s
check-linter.yaml / Checks with linters (pull_request) Successful in 14s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 25s
6a5323adaf
Member

Good catch! I've updated both README.md and AGENTS.md to reflect the pnpm workspace usage:

README.md changes:

  • Updated the "Getting Started" build command from manual cd to pnpm run -r --aggregate-output build, matching the CI workflows

AGENTS.md changes:

  • Added a note explaining this is a pnpm workspace (root + cups/)
  • Updated all cross-workspace scripts (format:check, format:fix, lint:check, lint:fix) to use pnpm run -r
  • Kept pnpm check and pnpm test as root-only commands (they don't exist in the cups/ workspace)
  • Added a section for running scripts only in the cups/ workspace

These changes align the documentation with how the CI workflows actually execute commands.

Good catch! I've updated both `README.md` and `AGENTS.md` to reflect the pnpm workspace usage: **README.md changes:** - Updated the "Getting Started" build command from manual `cd` to `pnpm run -r --aggregate-output build`, matching the CI workflows **AGENTS.md changes:** - Added a note explaining this is a pnpm workspace (root + `cups/`) - Updated all cross-workspace scripts (`format:check`, `format:fix`, `lint:check`, `lint:fix`) to use `pnpm run -r` - Kept `pnpm check` and `pnpm test` as root-only commands (they don't exist in the `cups/` workspace) - Added a section for running scripts only in the `cups/` workspace These changes align the documentation with how the CI workflows actually execute commands.
chore: remove extra section from agents.md
All checks were successful
check-formatter.yaml / Checks with formatters (pull_request) Successful in 13s
check-linter.yaml / Checks with linters (pull_request) Successful in 18s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 24s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 2s
check-build.yaml / Check that project builds (pull_request) Successful in 1m6s
1b05568ce9
davide requested review from llm-bot 2026-07-01 12:59:14 +00:00
llm-bot approved these changes 2026-07-01 13:23:38 +00:00
llm-bot left a comment

PR Review: chore: add scaffolding for libcups native module

Overall, this is a well-structured PR that adds solid scaffolding for the libcups native module. The documentation updates are accurate and align with the CI workflows.

Positive Findings

Documentation (README.md & AGENTS.md)

  • Both files correctly reflect the pnpm workspace structure (root + cups/)
  • pnpm run -r commands are properly documented for cross-workspace operations
  • pnpm check and pnpm test are correctly noted as root-only commands
  • README.md build command matches the CI workflow pattern (pnpm run -r --aggregate-output build)
  • AGENTS.md provides clear guidance on when to use pnpm run -r vs root-only commands

libcups Scaffolding

  • Clean meson.build configuration with proper include paths and dependency detection
  • Well-configured .clang-tidy with sensible checks and naming conventions (CamelCase for structs, pascalCase for functions, UPPER_CASE for constants)
  • .clang-format using Chromium style — consistent and appropriate
  • Proper .gitignore entry for /cups/build/ to exclude build artifacts
  • binding.ts correctly uses createRequire for loading the native .node module
  • pnpm-workspace.yaml properly configured with includeWorkspaceRoot: true

CI Workflows

  • All workflows consistently use pnpm run -r --no-sort --aggregate-output for cross-workspace commands
  • The setup script is run before other commands, ensuring .env is configured

ℹ️ Minor Observations

  1. README.md project structure simplification: The component subdirectory detail was removed from the diagram (e.g., controls/, dialog/, form/, etc.). This is a reasonable simplification but may make it slightly harder for new contributors to understand the component organization at a glance. Consider adding a cross-reference to AGENTS.md or keeping a minimal subset.

  2. CI flags vs documentation: The CI workflows use --no-sort --aggregate-output but the documentation only mentions --aggregate-output. This is fine — --no-sort is a CI optimization that's not needed for local development.

  3. Devcontainer TODO: There's a TODO: mock cups server comment in docker-compose.yml. This is noted but not blocking — it's good that this is tracked.

Conclusion

Approved. The PR is well-executed, the documentation accurately reflects the new workspace structure, and the libcups scaffolding is properly set up for future development.

## PR Review: chore: add scaffolding for libcups native module Overall, this is a well-structured PR that adds solid scaffolding for the libcups native module. The documentation updates are accurate and align with the CI workflows. ### ✅ Positive Findings **Documentation (README.md & AGENTS.md)** - Both files correctly reflect the pnpm workspace structure (root + `cups/`) - `pnpm run -r` commands are properly documented for cross-workspace operations - `pnpm check` and `pnpm test` are correctly noted as root-only commands - README.md build command matches the CI workflow pattern (`pnpm run -r --aggregate-output build`) - AGENTS.md provides clear guidance on when to use `pnpm run -r` vs root-only commands **libcups Scaffolding** - Clean meson.build configuration with proper include paths and dependency detection - Well-configured `.clang-tidy` with sensible checks and naming conventions (CamelCase for structs, pascalCase for functions, UPPER_CASE for constants) - `.clang-format` using Chromium style — consistent and appropriate - Proper `.gitignore` entry for `/cups/build/` to exclude build artifacts - `binding.ts` correctly uses `createRequire` for loading the native `.node` module - `pnpm-workspace.yaml` properly configured with `includeWorkspaceRoot: true` **CI Workflows** - All workflows consistently use `pnpm run -r --no-sort --aggregate-output` for cross-workspace commands - The `setup` script is run before other commands, ensuring `.env` is configured ### ℹ️ Minor Observations 1. **README.md project structure simplification**: The component subdirectory detail was removed from the diagram (e.g., `controls/`, `dialog/`, `form/`, etc.). This is a reasonable simplification but may make it slightly harder for new contributors to understand the component organization at a glance. Consider adding a cross-reference to AGENTS.md or keeping a minimal subset. 2. **CI flags vs documentation**: The CI workflows use `--no-sort --aggregate-output` but the documentation only mentions `--aggregate-output`. This is fine — `--no-sort` is a CI optimization that's not needed for local development. 3. **Devcontainer TODO**: There's a `TODO: mock cups server` comment in `docker-compose.yml`. This is noted but not blocking — it's good that this is tracked. ### ✅ Conclusion **Approved.** The PR is well-executed, the documentation accurately reflects the new workspace structure, and the libcups scaffolding is properly set up for future development.
davide merged commit 00aa754e22 into main 2026-07-01 13:30:49 +00:00
davide deleted branch chore/libcups-setup 2026-07-01 13:30:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
projects/events-cash-register!43
No description provided.