mirror of
https://github.com/logseq/logseq.git
synced 2026-02-01 22:47:36 +00:00
2.6 KiB
2.6 KiB
Repository Layout
- Use clojure-mcp
clojure_inspect_projectto get project structure. src/: Core source codesrc/main/: The core logic of the applicationsrc/main/mobile/: Mobile app codesrc/main/frontend/inference_worker/: Code running in a webworker for text-embedding and vector-searchsrc/main/frontend/worker/: Code running in an another webworkersrc/main/frontend/worker/rtc/: RTC(Real Time Collaboration) related code
src/main/frontend/components/: UI components
src/electron/: Code specifically for the Electron desktop application.src/test/: unit-tests
deps/: Internal dependencies/modulesclj-e2e/: End to end test code
Common used cljs keywords
- All commonly used ClojureScript keywords are defined using
logseq.common.defkeywords/defkeyword. - Search for
defkeywordsto find all the definitions.
Testing Commands
- Run linters and unit-tests:
bb dev:lint-and-test - Run single focused unit-test:
- Add the
:focuskeyword to the test case:(deftest ^:focus test-name ...) bb dev:test -i focus
- Add the
- Run e2e basic tests:
bb dev:e2e-basic-test
- Run e2e rtc extra tests:
bb dev:e2e-rtc-extra-test
Common used cljs keywords
- All commonly used ClojureScript keywords are defined using
logseq.common.defkeywords/defkeyword. - Search for
defkeywordsto find all the definitions.
Code Guidance
- Keep in mind: @prompts/review.md
Review Checklist
- Linters and unit-tests must pass
- Check the review notes listed in
prompts/review.md.
IMPORTANT RULES
WARNING: The following are non-negotiable, highest-priority instructions. They MUST be followed unconditionally in all cases. Failure to comply with these rules will result in task failure.
-
Clojure Code Editing Rules
- Instruction: When editing any .clj, .cljs, or .cljc file, you MUST and ONLY use the clojure-mcp toolkit.
- Prohibition: Absolutely do NOT use any general file writing tools (such as file_edit, file_write) to modify Clojure source files.
- Reason: This is to ensure the integrity of the code structure, avoid syntax errors, and maintain the project's code style.
-
Code Review/Modification Prerequisites
- Instruction: Before EACH “review” or “modification” of the code, you MUST first execute the
clojure_inspect_projecttool. - Prohibition: Do NOT begin analyzing or modifying code directly without obtaining project-wide information.
- Reason: This is to obtain complete, up-to-date project context, which is the foundation for making correct judgments and modifications.
- Instruction: Before EACH “review” or “modification” of the code, you MUST first execute the