Skip to content

Conversation

@daniel-falk
Copy link
Contributor

@daniel-falk daniel-falk commented Aug 6, 2025

This extracts the coderabbit instructions update from the PR #6 and also adds a template for new project README files to ensure consistency.

Summary by CodeRabbit

  • Documentation

    • Introduced a standardized README template for example projects, including structured sections, compatibility details, troubleshooting, and visual diagrams.
    • Updated documentation guidelines to enforce consistent naming conventions, improved accessibility, and clearer organization for example projects and related assets.
    • Enhanced instructions for README content, image storage, and product naming across the repository.
  • Chores

    • Expanded CI formatting to include hidden JSON and Markdown files, ensuring broader documentation consistency.

@coderabbitai
Copy link

coderabbitai bot commented Aug 6, 2025

Walkthrough

This update introduces detailed review and documentation requirements for example projects in the repository. It adds a README template, expands naming and documentation conventions, and updates the Prettier workflow to include additional hidden file types. The changes focus on standardizing project structure, documentation, and formatting.

Changes

Cohort / File(s) Change Summary
Review Configuration Enhancements
.coderabbit.yaml
Expanded review instructions for directories matching project-*/**, enforcing self-contained, well-documented example projects with standardized README structure, naming conventions, and image organization. Updated general instructions for all files to specify project directory structure, device and company naming, and product name verification.
README Template Addition
.project_readme_template.md
Added a new README template file outlining a standardized structure for project documentation, including sections for overview, system workflow (with mermaid diagram), compatibility, setup, troubleshooting, file descriptions, configuration, and local testing instructions.
CI Formatting Scope Update
.github/workflows/prettier.yml
Broadened the scope of files formatted by Prettier in CI by expanding the PRETTIER_FILES pattern to include hidden JSON and Markdown files, in addition to YAML files.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Repo
    participant Reviewer

    User->>Repo: Adds new example project under project-*/
    User->>Repo: Includes README using .project_readme_template.md
    Repo->>Reviewer: Triggers review with .coderabbit.yaml rules
    Reviewer->>Repo: Checks for documentation, naming, structure, images
    Repo->>CI: Runs Prettier on all relevant files (including hidden .json/.md/.yaml)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • fixedit-ai/fapp#208: Extends and refines the .coderabbit.yaml configuration, directly related to the enhancements and instructions introduced in this PR.
  • fixedit-ai/Developer-Program-Helper-Scripts#4: Improves README documentation by adding images and a table of contents, complementing the README template introduced here.
  • setup CICD workflow #3: Builds upon the initial .coderabbit.yaml configuration and review profiles, indicating a direct continuation and enhancement of the same configuration file.

📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between ea9086e and 5ba97a6.

📒 Files selected for processing (2)
  • .coderabbit.yaml (1 hunks)
  • .project_readme_template.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • .project_readme_template.md
  • .coderabbit.yaml

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (2)
.github/workflows/prettier.yml (1)

17-17: Consider covering hidden files in nested folders

The added glob catches root-level dot-files only (.*.{…}) but misses hidden files inside sub-directories such as .vscode/settings.json.
If you want CI to format all hidden files, add the recursive variant:

-PRETTIER_FILES: '"**/*.{json,yml,yaml,md}" ".github/**/*.{json,yml,yaml,md}" ".*.{yml,yaml,json,md}"'
+PRETTIER_FILES: '"**/*.{json,yml,yaml,md}" ".github/**/*.{json,yml,yaml,md}" ".*.{yml,yaml,json,md}" "**/.*.{yml,yaml,json,md}"'

This keeps behaviour for root dot-files while extending coverage.
No functional change is required if you deliberately limited the scope.

.coderabbit.yaml (1)

75-77: Spelling nit – “refered” → “referred”

Minor typo in guidance text:

-        project folder. These images might also be refered to from other sources like the top-level
+        project folder. These images might also be referred to from other sources like the top-level
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between d611778 and ea9086e.

📒 Files selected for processing (3)
  • .coderabbit.yaml (2 hunks)
  • .github/workflows/prettier.yml (1 hunks)
  • .project_readme_template.md (1 hunks)
🧰 Additional context used
🧠 Learnings (22)
📓 Common learnings
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_echo/README.md:63-73
Timestamp: 2025-08-05T18:06:55.605Z
Learning: When reviewing markdown files in the fixedit-ai/fixedit-agents repository, always verify formatting suggestions by running `prettier --check` before suggesting changes. Daniel-falk consistently uses proper automated formatting, and apparent "formatting issues" may actually be correctly formatted content that just looks different in diff context.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/README.md:1-35
Timestamp: 2025-07-01T11:34:26.699Z
Learning: User daniel-falk prefers using `prettier -w *.md` for markdown formatting instead of manual markdown fixes, and plans to integrate automated formatting into CI/CD pipelines systematically.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py:61-62
Timestamp: 2025-07-01T11:33:53.832Z
Learning: User daniel-falk prefers using automated formatting tools like `black` for Python code formatting instead of manual PEP 8 fixes, and plans to integrate these tools into CI/CD pipelines. They also recommend `autopep8` for finding additional issues like incorrect names.
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py:157-163
Timestamp: 2025-07-17T07:27:58.752Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the incorrect exception handling for base64 decoding in cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py (catching requests.RequestException instead of binascii.Error/ValueError) has been fixed in a previous PR that is still open, as mentioned by fixedit-jackh.
Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#295
File: acaps/config_agent/app/src/vapix_stream_profiles.cpp:126-134
Timestamp: 2025-06-18T09:44:13.318Z
Learning: When creating GitHub issues for refactoring tasks in the FixedIT codebase, include comprehensive file lists, clear before/after code examples, implementation notes, and proper backlinks to the original discussion for better tracking and context.
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/class/IndexResult.ts:0-0
Timestamp: 2025-08-05T08:10:49.466Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter for comprehensive code linting and formatting. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to 'all' for automatic code formatting.
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:30-49
Timestamp: 2025-08-05T08:10:57.754Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter as the unified linting and formatting solution. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to "all" for automatic fixing.
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/assets/html/results.template.html:1-9
Timestamp: 2025-06-23T08:46:04.049Z
Learning: For prototype-level VSCode plugin development, extensive documentation updates to README and CHANGELOG are not prioritized until the core functionality is established.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#14
File: vscode_plugins/acap-documentation-viewer/DEVELOP.md:85-85
Timestamp: 2025-08-01T08:43:55.730Z
Learning: In the vscode_plugins/acap-documentation-viewer project, public documentation (README, CHANGELOG) is intended for end users of the VS Code extension and should not include internal implementation details like data type conversion flows or system architecture. Developer documentation (DEVELOP.md) is the appropriate place for internal technical details that developers working on the extension need to understand.
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#268
File: acaps/telegraf_agent/frontend/README.md:2-3
Timestamp: 2025-05-15T13:40:02.484Z
Learning: In the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-application README files rather than in the main README.md file.
Learnt from: daniel-falk
PR: fixedit-ai/Axis-ACAP-libraries#54
File: libraries/builder-base/Makefile:1-5
Timestamp: 2024-10-25T10:25:19.311Z
Learning: - When suggesting code changes, include steps to pin the versions of tools like `mypy` and `black` for consistency.
- Include formatting and linting of YAML files in the workflows directory when setting up static tests.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: .github/workflows/package_acap-documentation-viewer.yml:39-39
Timestamp: 2025-07-01T10:36:32.345Z
Learning: In the FixedIT Developer Friend VSCode extension project, the team prefers to implement automatic linting systematically rather than fixing individual linting issues (like missing trailing newlines) as they come up in reviews.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/generate-licenses.js:19-20
Timestamp: 2025-06-16T15:00:05.319Z
Learning: For scripts in the vscode_plugins/acap-documentation-viewer project that are only run by developers (like generate-licenses.js), the team prefers to keep simpler implementations even if they have potential brittleness, and will address issues reactively if they arise rather than proactively hardening the code.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/src/utils/utils.ts:1-1
Timestamp: 2025-06-16T15:00:52.939Z
Learning: User daniel-falk prefers using established, well-tested JavaScript libraries over custom implementations for standard functionality like string sanitization, URL validation, and template inflation, especially for security-critical operations.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/lambdas/fixedit-developer-friend-devcloud-dependency-cache/index.py:67-67
Timestamp: 2025-07-27T10:49:53.485Z
Learning: User daniel-falk prefers explicit type annotations with proper dependencies over fallback mechanisms that silently disable type checking. He believes that if proper type hints are used, the required libraries should be added as dependencies rather than falling back to Any, which defeats the purpose of type checking.
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_metadata_forward/axis_image_consumer.sh:78-82
Timestamp: 2025-08-05T17:57:02.556Z
Learning: User daniel-falk prefers allowing curl to receive HTML error responses (without --fail flag) and then parsing/grepping the content to extract meaningful error messages for debug logging, rather than having curl fail immediately on HTTP errors. This approach provides more detailed troubleshooting information even though it requires additional validation steps.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/README.md:0-0
Timestamp: 2025-07-27T10:43:21.696Z
Learning: User daniel-falk prefers conservative documentation that only claims compatibility with Python versions that are actually tested, rather than making broad compatibility claims like "Python 3.8+" without verification. He believes it's better to document the specific version being used and tested rather than potentially fragile compatibility statements.
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_metadata_forward/axis_image_consumer.sh:69-76
Timestamp: 2025-08-05T17:57:22.613Z
Learning: User daniel-falk prefers capturing and logging actual server error responses (even HTML error pages) over failing fast with curl --fail, because it provides more detailed debugging information and meaningful error messages for troubleshooting in prototype environments.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/cloud_formation/web-service.yaml:67-67
Timestamp: 2025-07-28T10:11:12.253Z
Learning: User daniel-falk prefers managing sensitive configuration like API tokens through environment variables that are validated at deployment time, with clear error messages when required variables are missing. For CI/CD scenarios, these should be configured as repository secrets rather than hardcoded values.
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_metadata_forward/mqtt_image_request_handler.sh:68-73
Timestamp: 2025-08-05T17:58:27.113Z
Learning: User daniel-falk takes a pragmatic approach to security in prototype environments - when input is controlled by their own system (like hardcoded parameter names and controlled MQTT messages), theoretical vulnerabilities like regex meta-character issues in parsing functions are acceptable rather than requiring defensive over-engineering.
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:0-0
Timestamp: 2025-07-11T10:09:50.781Z
Learning: User daniel-falk prefers detailed, verbose comments that explain the "why" behind code decisions, not just the "what". Comments should provide extra context and be written for readers' understanding, even if they're longer. This applies especially to security-related code where explaining the reasoning (like CSP nonce generation for XSS prevention) adds valuable context.
📚 Learning: when reviewing markdown files in the fixedit-ai/fixedit-agents repository, always verify formatting ...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_echo/README.md:63-73
Timestamp: 2025-08-05T18:06:55.605Z
Learning: When reviewing markdown files in the fixedit-ai/fixedit-agents repository, always verify formatting suggestions by running `prettier --check` before suggesting changes. Daniel-falk consistently uses proper automated formatting, and apparent "formatting issues" may actually be correctly formatted content that just looks different in diff context.

Applied to files:

  • .github/workflows/prettier.yml
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-developer-friend repository, the project has migrated from individual pret...
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/class/IndexResult.ts:0-0
Timestamp: 2025-08-05T08:10:49.466Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter for comprehensive code linting and formatting. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to 'all' for automatic code formatting.

Applied to files:

  • .github/workflows/prettier.yml
  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-developer-friend repository, the project has migrated from individual pret...
Learnt from: fixedit-jackh
PR: fixedit-ai/FixedIT-Developer-Friend#18
File: vscode_plugins/acap-documentation-viewer/src/controller/ResultWebview.ts:30-49
Timestamp: 2025-08-05T08:10:57.754Z
Learning: In the fixedit-ai/FixedIT-Developer-Friend repository, the project has migrated from individual Prettier and ESLint CI/CD jobs to using MegaLinter as the unified linting and formatting solution. The old .github/workflows/lint_acap-documentation-viewer.yml workflow was removed and replaced with .github/workflows/mega-linter.yml that uses MegaLinter with APPLY_FIXES set to "all" for automatic fixing.

Applied to files:

  • .github/workflows/prettier.yml
  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-agents repository, when daniel-falk states that prettier has been used on ...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#436
File: prototypes/example_projects/mqtt_echo/README.md:63-73
Timestamp: 2025-08-05T18:06:55.605Z
Learning: In the fixedit-ai/fixedit-agents repository, when daniel-falk states that Prettier has been used on markdown files, the formatting is typically already correct and no additional changes are needed. LanguageTool warnings on technical markdown content (like MQTT topic structures and configuration lists) are often false positives rather than actual formatting issues.

Applied to files:

  • .github/workflows/prettier.yml
  • .coderabbit.yaml
📚 Learning: user daniel-falk prefers using `prettier -w *.md` for markdown formatting instead of manual markdown...
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#17
File: cloud_infra/README.md:1-35
Timestamp: 2025-07-01T11:34:26.699Z
Learning: User daniel-falk prefers using `prettier -w *.md` for markdown formatting instead of manual markdown fixes, and plans to integrate automated formatting into CI/CD pipelines systematically.

Applied to files:

  • .github/workflows/prettier.yml
📚 Learning: - when suggesting code changes, include steps to pin the versions of tools like `mypy` and `black` f...
Learnt from: daniel-falk
PR: fixedit-ai/Axis-ACAP-libraries#54
File: libraries/builder-base/Makefile:1-5
Timestamp: 2024-10-25T10:25:19.311Z
Learning: - When suggesting code changes, include steps to pin the versions of tools like `mypy` and `black` for consistency.
- Include formatting and linting of YAML files in the workflows directory when setting up static tests.

Applied to files:

  • .github/workflows/prettier.yml
  • .coderabbit.yaml
📚 Learning: in the github actions workflows for this repository, the fixedit cli will produce an error if multip...
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#37
File: .github/workflows/build_and_test_acaps.yml:133-149
Timestamp: 2024-11-12T11:57:32.569Z
Learning: In the GitHub Actions workflows for this repository, the FixedIT CLI will produce an error if multiple files are produced, so it is safe to assume only one file will be generated.

Applied to files:

  • .github/workflows/prettier.yml
📚 Learning: in the `.github/workflows/unit_tests.yml` workflow, it's acceptable to use only the `push` trigger i...
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#19
File: .github/workflows/unit_tests.yml:3-7
Timestamp: 2024-11-05T09:37:26.633Z
Learning: In the `.github/workflows/unit_tests.yml` workflow, it's acceptable to use only the `push` trigger if running tests on all pushes covers the necessary cases. Including the `pull_request` trigger may be unnecessary unless handling contributions from forked repositories or pull requests without new commits.

Applied to files:

  • .github/workflows/prettier.yml
📚 Learning: in this project, changelog entries in *_spec.md files are historical records and should remain uncha...
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#290
File: acaps/installer_agent/app/manifest.base.jsonnet:21-21
Timestamp: 2025-05-09T09:00:38.747Z
Learning: In this project, changelog entries in *_SPEC.md files are historical records and should remain unchanged. New version entries are added above previous ones, rather than replacing them. Each application (Installer Agent, Config Agent, Telegraf Agent) has its own independent version numbering.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the vscode_plugins/acap-documentation-viewer project, public documentation (readme, changelog) is...
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#14
File: vscode_plugins/acap-documentation-viewer/DEVELOP.md:85-85
Timestamp: 2025-08-01T08:43:55.730Z
Learning: In the vscode_plugins/acap-documentation-viewer project, public documentation (README, CHANGELOG) is intended for end users of the VS Code extension and should not include internal implementation details like data type conversion flows or system architecture. Developer documentation (DEVELOP.md) is the appropriate place for internal technical details that developers working on the extension need to understand.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-app...
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#268
File: acaps/telegraf_agent/frontend/README.md:2-3
Timestamp: 2025-05-15T13:40:02.484Z
Learning: In the fixedit-ai/client-doordash repository, detailed documentation should be maintained in per-application README files rather than in the main README.md file.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-agents project, when creating documentation that will be converted to pdf ...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#428
File: acaps/fixedit_data_agent/QUICKSTART_GUIDE.md:41-45
Timestamp: 2025-07-23T14:25:38.892Z
Learning: In the fixedit-ai/fixedit-agents project, when creating documentation that will be converted to PDF (like QUICKSTART_GUIDE.md), PDF output quality and formatting takes priority over GitHub markdown rendering. LaTeX environments like \begin{scriptsize} and \begin{verbatim} should be preserved even if they break GitHub preview, because end users primarily read the PDF versions rather than the GitHub markdown. This prioritizes user experience over developer experience.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: the fixedit-ai/fixedit-agents project does not document api endpoints in the changelog. api endpoint...
Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#302
File: acaps/telegraf_agent/README.md:37-46
Timestamp: 2025-06-18T11:12:50.995Z
Learning: The fixedit-ai/fixedit-agents project does not document API endpoints in the CHANGELOG. API endpoint additions and changes should not trigger changelog update suggestions.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-agents project, documents like fixedit_data_agent_config_spec.md that are ...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#428
File: FIXEDIT_DATA_AGENT_CONFIG_SPEC.md:40-50
Timestamp: 2025-07-23T10:29:18.040Z
Learning: In the fixedit-ai/fixedit-agents project, documents like FIXEDIT_DATA_AGENT_CONFIG_SPEC.md that are converted to PDF should not use markdown links to reference other files (like `QUICKSTART_GUIDE.pdf`) because those links will be broken in the PDF output. Plain text references should be used instead to maintain functionality across both markdown and PDF formats.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the fixedit-ai/fixedit-agents project, pdf conversion constraints take precedence over markdown l...
Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#428
File: acaps/fixedit_data_agent/QUICKSTART_GUIDE.md:152-160
Timestamp: 2025-07-16T07:51:38.439Z
Learning: In the fixedit-ai/fixedit-agents project, PDF conversion constraints take precedence over markdown linting compliance when there are conflicts with nested heading levels. Bold formatting (**text**) is preferred over additional heading levels (####) to avoid issues with PDF generation.

Applied to files:

  • .project_readme_template.md
  • .coderabbit.yaml
📚 Learning: in the vscode extension project vscode_plugins/acap-documentation-viewer, license.fixedit-developer-...
Learnt from: daniel-falk
PR: fixedit-ai/FixedIT-Developer-Friend#4
File: vscode_plugins/acap-documentation-viewer/LICENSE.fixedit-developer-friend:1-7
Timestamp: 2025-06-16T15:00:54.820Z
Learning: In the VSCode extension project vscode_plugins/acap-documentation-viewer, LICENSE.fixedit-developer-friend is an intermediate source file used by the generate-licenses.js script to autogenerate the complete LICENSE file. The main LICENSE file should be referenced in package.json and documentation, not the intermediate .fixedit-developer-friend file.

Applied to files:

  • .project_readme_template.md
📚 Learning: in the fixedit-ai/fixedit-agents project, host stub implementations (like in acaps/installer_agent/a...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#359
File: acaps/installer_agent/app/stubs_host/axparam/src/ax_parameter.c:0-0
Timestamp: 2025-07-03T15:16:47.201Z
Learning: In the fixedit-ai/fixedit-agents project, host stub implementations (like in acaps/installer_agent/app/stubs_host/axparam/src/ax_parameter.c) are intentionally allowed to have different default values than device deployments. This is acceptable because host stubs are used for testing and development purposes, while device deployments have their own configuration requirements.

Applied to files:

  • .project_readme_template.md
📚 Learning: in the fixedit-ai/fixedit-agents project, the configs_for_build directory is only used for plugin pa...
Learnt from: daniel-falk
PR: fixedit-ai/fixedit-agents#359
File: TEST_INSTRUCTIONS.md:244-245
Timestamp: 2025-07-03T15:28:04.994Z
Learning: In the fixedit-ai/fixedit-agents project, the configs_for_build directory is only used for plugin parsing purposes. Files in this directory should not be updated unless necessary because it breaks the build cache unnecessarily. Build cache optimization is an important consideration when making changes to configuration files.

Applied to files:

  • .coderabbit.yaml
📚 Learning: when creating github issues for refactoring tasks in the fixedit codebase, include comprehensive fil...
Learnt from: fixedit-olatz
PR: fixedit-ai/fixedit-agents#295
File: acaps/config_agent/app/src/vapix_stream_profiles.cpp:126-134
Timestamp: 2025-06-18T09:44:13.318Z
Learning: When creating GitHub issues for refactoring tasks in the FixedIT codebase, include comprehensive file lists, clear before/after code examples, implementation notes, and proper backlinks to the original discussion for better tracking and context.

Applied to files:

  • .coderabbit.yaml
📚 Learning: in the `bootstrap_agent` project, avoid using at-notations (e.g., `@param`, `@return`) in comments, ...
Learnt from: daniel-falk
PR: fixedit-ai/client-doordash#3
File: bootstrap_agent/app/include/modules/vapix/vapix.h:0-0
Timestamp: 2024-10-28T15:20:41.902Z
Learning: In the `bootstrap_agent` project, avoid using at-notations (e.g., `param`, `return`) in comments, as documentation generation tools are not used. Write comments for human consumption instead.

Applied to files:

  • .coderabbit.yaml
📚 Learning: in the 'client-doordash' repository, when creating symlinks such as in `acaps/bootstrap_agent/app/in...
Learnt from: fixedit-olatz
PR: fixedit-ai/client-doordash#25
File: acaps/bootstrap_agent/app/include/shared/parameters/plain_parameters.h:1-1
Timestamp: 2024-11-04T11:06:32.617Z
Learning: In the 'client-doordash' repository, when creating symlinks such as in `acaps/bootstrap_agent/app/include/shared/parameters/plain_parameters.h`, absolute paths should not be used because they make the symlinks not reusable on other hosts. Relative paths, even with multiple `../`, are acceptable and preferred to ensure portability across different hosts.

Applied to files:

  • .coderabbit.yaml
🪛 YAMLlint (1.37.1)
.coderabbit.yaml

[error] 34-34: trailing spaces

(trailing-spaces)


[error] 35-35: trailing spaces

(trailing-spaces)


[error] 36-36: trailing spaces

(trailing-spaces)

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 6, 2025

  • Also describe that test scripts for testing parts of the functionality, or scripts to visualize data produced, etc, should go in a folder called test_scripts. The config files used by default should be placed in the root of the project dir, and any optional files used for testing purposes, like mocked versions, can go in test_files.

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 6, 2025

  • Helper scripts in Python should use click for argument parsing and have good help texts. There should also be a requirements.txt file for them. Make sure that the package versions are the latest and that they are pinned.
  • Use pathlib instead of os.path and make sure it is platform portable.

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 6, 2025

  • The "FixedIT Data Agent" should be correctly capitalized.

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 6, 2025

  • Template values for environment variables that needs to be replaced should be e.g. VAPIX_PASS="your_vapix_password". In bash commands they should be e.g. --bucket <my_s3_bucket_name>
  • When using credentials, it should be specified which minimum privileges they require (e.g. operator) and we should encourage to not use higher than needed.


- **Minimum AXIS OS version**: [X.X] or later
- **Required tools**: [List any special commands like `jq`, etc. that does not exist in all AXIS OS versions]
- **Other notes**: [Specify if requires basic/digest auth, HTTPS support, etc.]
Copy link
Collaborator

Choose a reason for hiding this comment

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

If it requires

### AXIS OS Compatibility

- **Minimum AXIS OS version**: [X.X] or later
- **Required tools**: [List any special commands like `jq`, etc. that does not exist in all AXIS OS versions]
Copy link
Collaborator

Choose a reason for hiding this comment

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

that do not exist

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 7, 2025

  • If a project contains python files, there should be a new github actions workflow created adding extensive testing of it with mypy, pylint, black, flake8 and isort. Each project should have their own test workflow so that library versions does not interfere.

@daniel-falk
Copy link
Contributor Author

daniel-falk commented Aug 7, 2025

  • Each project should contain a license file with the license of that project

@daniel-falk daniel-falk merged commit 3578921 into main Aug 7, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants