Cluster detail
reqlan rq
Ideas located under folder reqlan rq.
folder
70 ideas
8 files
| Idea | File | Status | Summary | Katz |
|---|---|---|---|---|
| cli | reqlan rq/ai-support.rq | done | Headless twin of extension / MCP analysis: [cli_package] ( `reqlan` / `rq` ), same `<base>/.reqlan` index. [commands]: `init` · `parse <file>` · `analyse` / `analyze` · `search <query>` · `click <target>` · `export` / `export html`. `--json` for machines; `--cwd` / `REQLAN_WORKSPACE`; `REQLAN_INDEX_PATH` overrides index dir. | 0.040 |
| skills | reqlan rq/ai-support.rq | done | rq-* skills ( [chat_skill_naming], [cursor_skills_install] ) teach the graph, not the whole repo. Ontology in one breath — this project as example: - [idea] — named unit of intent ( `cli_package`, `skills` ) - [file] / [ideaset] — containers ( `reqlan rq/cli/cli_package.rq`; file = implicit ideaset ) - [base] — `.reqlan` boundary; one ideas index per base - [reference] — `[idea]` / `[[wiki]]` / `["./path".idea]` to ideas and code - [attribute] / [attribute_body] — `@name …`; first unmarked text is the body Prefer focused search / file context / local graph over full dumps ( [ai_integration] ). | 0.040 |
| special_attributes | reqlan rq/ai-support.rq | done | When creating or updating ideas, skills MUST set: - `@status` — lifecycle ( `draft` | `pending` | `in-progress` | `done` | … ) - `@todo` — open gaps / follow-ups ( bare or with a note ) - `@tests` — quoted test paths that prove the idea ( optional `:test name` suffix ) Do not bury status, todos, or test links in body prose. | 0.046 |
| brand | reqlan rq/brand.rq | reqlan has a simple brand. Dark rust; and aqua blue pallete. Pink for highlights. Logo is nodular graph / crosshair | 0.040 | |
| extension_brand | reqlan rq/brand.rq | The extension uses the brand logo from ["../site/public/logo.svg"]. PNG is used for marketplace, language file icon, activity bar, README, and chat participant surfaces ( Azure Marketplace rejects SVG ). WebP is generated as a raster fallback. | 0.040 | |
| file_icon | reqlan rq/brand.rq | the file icon for. rq files should use the reqlan logo. | 0.040 | |
| elevator_pitch | reqlan rq/constitution.rq | Build high quality, verifiable, explainable systems, quickly Site landing: ["./site/site.rq".elevator_pitch_section] | 0.056 | |
| general_purpose | reqlan rq/constitution.rq | The language should work in any stack. And ideally, even in non-software development environments. | 0.040 | |
| inspiration | reqlan rq/constitution.rq | This project draws upon ideas from the following fields: - LLMS - Software development - Obsidian / Personal Knowledge Management systems. - Industrial Control Engineering - Ontology based business information systems | 0.040 | |
| llm_first | reqlan rq/constitution.rq | The language should be designed to be easy to use with llms. It should be support token minimisation. | 0.040 | |
| mission_statement | reqlan rq/constitution.rq | This project offers a structred semantic framework for supporting people working with llms to document their semantic requirements as code; and provide ergonomic consumption and definition of them. | 0.040 | |
| scope | reqlan rq/constitution.rq | The scope of these requirements spans the entire project, including the language itself, the developer-user tooling, and the reqlan-developer environment. | 0.040 | |
| simplicity | reqlan rq/constitution.rq | The language should be simple to understand and use, and offer flexibility in the syntax for minimised friction and bp. | 0.040 | |
| supply_chain | reqlan rq/constitution.rq | The supply chain for this project should be open and transparent, minimising risk and immature dependencies. | 0.095 | |
| vsc_first | reqlan rq/constitution.rq | The language should be designed to be easy to use with vscode. | 0.040 | |
| analytical_package | reqlan rq/core-architecture.rq | in-progress | `packages/analytical` ( `@reqlan/analytical` ) is the shared requirement graph index and analysis layer. It owns the [indexer]: extracts ideas and edges into a rusqlite store via the core native engine ( [workspace_index] ), holds Zustand analytical state, and exposes analysers and an analysis API. Headless CLI / MCP entry is `@reqlan/analytical/core` via `openAnalysisApi` ( native required; no Langium ). Consumers: [extension_package] ( thin editor adapter ), [mcp_package], [cli_package]. Depends on [language_package] for the editor LSP only. Published to npm alongside [cli_package]; version graph role: [package_versioning]. Rust engine port ( lexer / parser-for-index, indexer, search, export ): [rust_port.analytical_rust_port], shipped per [distribution.rust_binary_distribution]. | 0.167 |
| base_containers | reqlan rq/core-architecture.rq | Ideas are organised in [bases]; each base holds the [ideas_index] store under its `.reqlan` application memory. Discovery and nesting: ["./bases/base.rq".base], ["./bases/base.rq".base_nesting]. | 0.040 | |
| cli_package | reqlan rq/core-architecture.rq | `packages/cli` ( `@reqlan/cli` ) is a Clipanion CLI over the core analytical engine ( `@reqlan/analytical/core` ) for parse, analyse, search, and export. Entry: [cli_main]. Binary name `reqlan` ( alias `rq` ). Published to npm with language, analytical, and MCP per [package_versioning] and [distribution.version_management]. | 0.094 | |
| extension_package | reqlan rq/core-architecture.rq | `packages/extension` ( npm `reqlan-extension` ) is the editor product per [distribution.extension_package]. It registers `.rq` language support, TextMate grammars, starts the language client, and owns activity bar, Ideas Summary, chat, skills, and mutation hooks. Ideas index engine lives in [analytical_package] / [indexer]; the extension only hosts a thin VS Code adapter ( [editor_index_adapter] ) for watchers and UI. Host entry: [extension_main]. LSP process: [lsp_rust.language_server_rust]. Node fallback: [language_server_main]. Depends on [language_package] and [analytical_package]. Follows [extension_architecture.event_driven] and [extension_architecture.state_machine_mindset] for JS state; webview UI standards in ["./codestyle/typescript.rq".ui_state_management]. This is the one Marketplace / Open VSX shippable; see [package_versioning]. | 0.128 | |
| extension_surfaces | reqlan rq/core-architecture.rq | Product surfaces on [extension_package] nest under [extension_hub.extension_domains]: - Host lifecycle: [extension_hub.host_lifecycle] - Language surface: [extension_hub.language_surface] - Index host: [extension_hub.index_host] ( [graph_analysers], editor adapter ) - Local context ( activity bar + context model ): [extension_hub.local_context] ( [activitybar.activity_bar], [context_scope_doc.context_scope] ) - Workspace summary ( Ideas Summary ): [extension_hub.workspace_summary] ( [ideas_summary_doc.ideas_summary] ) - Presentation ( shared webview + graph lib ): [extension_hub.presentation] ( [webview_doc.webview] ) - Agent surface: [extension_hub.agent_surface] ( [chat_participant_doc.chat_participant], [skills_and_mcp] ) - Graph mutation: [extension_hub.graph_mutation] ( [mutation_hooks] ) - Export surface: [extension_hub.export_surface] ( [export_doc.export_webview] ) | 0.047 | |
| grammar_and_parser | reqlan rq/core-architecture.rq | The language server parses with `reqlan-parse` ( [lsp_rust.language_server_rust] ). Do not switch the language to tree-sitter. Main `.rq` grammar file: [reqlan_grammar]. Comment-token grammar for `rq:[…]` in non- `.rq` sources: [comment_grammar]. `langium generate` still builds host AST modules and TextMate JSON per [development_build.build_prepare]. The checked-in TextMate grammar paints the editor before semantic tokens. Syntax requirements that the grammar must satisfy live in [syntax]; conceptual units in [ontology.idea], [ontology.ideaset], [ontology.reference], [ontology.import_statement]. Host services stay in [language_module]. The language server does not load them. | 0.172 | |
| hierarchy_of_truth | reqlan rq/core-architecture.rq | Align with [development_core.hierarchy_of_requirements]: - User request trumps these requirements; these requirements trump current implementation. - Language concepts: [ontology]; syntax rules: [syntax]. - Package seams and process topology: this file ( [workspace_packages], [language_runtime] ). - Editor UI and host contracts: [extension_hub.extension_domains] ( [product_map] ). - Distribution and publishables: [distribution]; internal vs shippable versioning: [package_versioning]. | 0.040 | |
| ideas_index | reqlan rq/core-architecture.rq | The ideas index is built and maintained by the [indexer] in [analytical_package]. Path: Rust parse / extract → SQLite via [workspace_index] ( [rust_port.analytical_rust_port] ). Application memory: each [bases.base] holds SQLite under `<base>/.reqlan/` ( shared by extension, [cli_package], and [mcp_package] ) — see ["./extension/index-host/index.rq".application_memory]. Multi-base: a BaseRegistry owns one [workspace_index] per discovered base; the extension adapter routes file events to the owning base. In the editor, [editor_index_adapter] watches `**\*.rq` and forwards changes to the owning base's [workspace_index]; it serves UIs, commands, chat, and analysers. The Rust language server reads the same store for catalogs, rename, and find-references ( [lsp_rust.language_server_rust] ). Headless ( MCP / CLI ) uses [analysis_runtime] ( nearest base containing cwd when several exist ). Capability requirements: [indexer.index_ideas], [indexer.index_technology], and sibling analysers in that file. Triggers: [indexer.triggers] and ["./extension/index-host/index.rq".idea_index_triggers]. | 0.100 | |
| language_package | reqlan rq/core-architecture.rq | `packages/language` ( `@reqlan/language` ) is the canonical language definition. It owns Langium grammars, generated AST and parser, scoped linking, validators, and LSP service providers. Public DI entry is [language_module] via `createReqlanServices`. Consumers: [analytical_package] ( native index / analysis via napi ), [extension_package] ( LSP ). Published to npm as a library dependency of [analytical_package]; not Marketplace-published. See [distribution.version_management] and [package_versioning]. | 0.105 | |
| language_runtime | reqlan rq/core-architecture.rq | Ideaset (language_runtime) | 0.050 | |
| language_server | reqlan rq/core-architecture.rq | The language server is the `reqlan-lsp` binary ( [lsp_rust.language_server_rust] ). The extension launches it over stdio ( [extension_main] ). It parses open `.rq` buffers for definition, completion, semantic tokens, inlays, document links, and validation. It reads the ideas index for workspace names. It does not keep a syntax tree for every file. A Node Langium process remains only when `reqlan.languageServer.engine` is `node`, or when the binary is missing ( [language_server_main] ). Product expectation for LSP navigation and validation: [extension_scope.lsp_support]. | 0.167 | |
| mcp_package | reqlan rq/core-architecture.rq | `packages/mcp` ( `@reqlan/mcp` ) is a stdio MCP server over the analytical analysis API — no VS Code host required. Entry: [mcp_main] via ["../packages/mcp/bin/mcp.js"]. Binary name `reqlan-mcp`. Used by Cursor and other MCP clients per [chat_participant_doc.mcp] and [skills_and_mcp.mcp_tools]. Search and retrieval use ["./extension/agent/skills-and-mcp.rq".mcp_click_retrieval] ( `click` ) only. npm `mcpName` is `io.github.littletuna4/reqlan` for MCP Registry ownership checks ( ["../packages/mcp/package.json"] ). Published to npm with language, analytical, and CLI per [package_versioning] and [distribution.version_management] ( `mcp/v*` ). Windows ESM entry uses `pathToFileURL` like ["./cli/cli_package.rq".windows_esm_entry]. | 0.109 | |
| monorepo | reqlan rq/core-architecture.rq | The workspace is a pnpm monorepo ( `packages\*`, extension webviews, and `site` ) per ["../pnpm-workspace.yaml"] and [development_core.pnpm]. TypeScript project references build in order language → analytical → mcp → cli → extension per ["../tsconfig.build.json"]. Living requirements for the product live in this `reqlan rq` folder. Root orchestration ( Langium generate, package builds, Cursor skill sync ) lives in ["../package.json"]. Why libraries are separate packages ( and how Changesets sees them ): [package_versioning]. | 0.040 | |
| package_versioning | reqlan rq/core-architecture.rq | Separate workspace packages exist for build isolation and reuse — not because each ships to every channel. [language_package] and [analytical_package] are leaf libraries shared by LSP, index, MCP, and CLI; they need their own package boundaries for TypeScript project refs and a single grammar / index ownership point. Release-driving channels: - Marketplace / Open VSX: [extension_package] ( `ext/v*` ) - GitHub Pages: [site_package] ( `site/v*` ) - npm registry: [language_package], [analytical_package], [cli_package], and [mcp_package] ( `language/v*`, `analytical/v*`, `cli/v*`, `mcp/v*` ) via Changesets `changeset publish` Changesets config is [changeset_config]. [language_package] and [analytical_package] stay in the Changesets graph so a lib change can bump their versions and patch dependents via `updateInternalDependencies: "patch"` ( including the extension, CLI, and MCP ). Extension webview folders may be private pnpm members ( e. g. `@reqlan/ideas-summary-webview` ) so Vite / Svelte can own deps; they bundle into extension media and are not Changesets publish targets. Activity-bar UI is not a separate package. json product. Contributors record release intent with a changeset on publishable packages when user-facing behaviour changes; see [distribution.version_management]. | 0.139 | |
| product_map | reqlan rq/core-architecture.rq | Ideaset (product_map) | 0.050 | |
| runtime_topology | reqlan rq/core-architecture.rq | The editor and the index do not share one process. - LSP process: `reqlan-lsp` for live `.rq` editing ( [lsp_rust.language_server_rust] ). - Analytical [workspace_index] ( extension host via [editor_index_adapter], MCP / CLI via [analysis_runtime] ): full-workspace graph for tables, local graph, chat, MCP. Editor ↔ extension host: VS Code APIs and webview postMessage. Editor ↔ LSP: vscode-languageclient over stdio. The language server reads the ideas index directly. Host catalog notifications are optional. Stack sketch: [development_core.stack]. | 0.040 | |
| scope | reqlan rq/core-architecture.rq | These requirements describe the cross-package system architecture of the reqlan monorepo: language definition, language server, ideas index, editor product, and companion tools. They are distinct from [extension_scope.scope], which bounds only the VS Code extension and LSP product surface. Language concepts live in [ontology]; syntax truth lives in [syntax]; editor module contracts live under extension / module. Grouped as [workspace_packages], [language_runtime], and [product_map]. | 0.040 | |
| site_package | reqlan rq/core-architecture.rq | `site` is the marketing / docs Next. js site per [distribution.site_package]. It is off the language-service and ideas-index path. Release-driving publishable alongside [extension_package]; see [package_versioning]. | 0.058 | |
| workspace_packages | reqlan rq/core-architecture.rq | Ideaset (workspace_packages) | 0.050 | |
| atlas | reqlan rq/ontology.rq | draft | A challenge with navigating complex graphs is that they can be overwhelming. One extension to the product is to have atlases — named, reusable cartographic cuts beyond the live [cartographic_map]. | 0.046 |
| attribute | reqlan rq/ontology.rq | done | Attributes are classification, functional, or nonfunctional metadata. Syntax: ["./language/syntax.rq".attribute_marker], ["./language/syntax.rq".attribute_forms], ["./language/syntax.rq".attribute_values], ["./language/syntax.rq".attribute_location]. Policy: ["./language/attributes.rq".attribute_configuration]. Indexed on [analytical_types] `IdeaAttributeMap`; extract: [idea_extractor], [rust_extract]. Product surface: [ideas_summary_tabs] Attributes tab. | 0.070 |
| attribute_body | reqlan rq/ontology.rq | done | The first attribute in an idea, if not marked otherwise, is the main body attribute. It is unstructured text. Syntax: ["./language/syntax.rq".block_idea]; extract summary from that body: [idea_extractor], [rust_extract]. | 0.054 |
| base | reqlan rq/ontology.rq | done | A base is a container for ideas, ideasets, and files — the boundary of one ideas graph. Discovery: a directory is a base only when it owns a `.reqlan` application-memory folder. There is no implicit base from a bare workspace folder; the product prompts the user to create `.reqlan` at the workspace-folder root when none exist. Bases may be nested: a child directory with its own `.reqlan` is a separate base; the parent base's index stops at that child boundary. Each base holds its own ideas index under its `.reqlan`. Details: ["./bases/base.rq".base]. | 0.251 |
| cartographic_map | reqlan rq/ontology.rq | done | A cartographic map is a visual representation of a graph, optimised / curated by the user for context. Product: ["./extension/workspace-summary/ideas_summary/graphical_graph.rq".graphical_graph] ( [graph_view] ). Distinct from a full-graph dump; [atlas] is a further curated overlay, not yet implemented. | 0.046 |
| click | reqlan rq/ontology.rq | A CLI / MCP function that returns compact local context for a given idea, file, or path. No match uses search. More than one match is ranked by distance from the session. One match returns idea content plus outbound, backlink, and sibling counts ( no edges ). Indexed code files are click targets. Uses a SQLite ["./cli/click.rq".click_session]. Count caps and session cache size are configurable. see ["./cli/click.rq".click] | 0.066 | |
| configuration | reqlan rq/ontology.rq | done | There are multiple scopes for configuration: at the [base] level and at the [extension] level. Base config: ["./extension/host/configuration.rq".configuration_location] ( `<base>/.reqlan/config.json` ). Base vs extension split: ["./bases/base.rq".base_configuration]. | 0.040 |
| extension | reqlan rq/ontology.rq | done | The extension contains the editor product features. Host: [extension_main]; scope: ["./extension/host/scope.rq".vscode_extension], ["./extension/host/scope.rq".lsp_support]. Architecture: ["./extension/host/architecture.rq".event_driven]; packages: ["./core-architecture.rq".extension_package]. Domain hierarchy: ["./extension/extension.rq".extension_product], ["./extension/extension.rq".extension_domains]. | 0.102 |
| file | reqlan rq/ontology.rq | done | Files store ideas and form ideasets. Documents use the `.rq` suffix ( ["./language/syntax.rq".file_suffix] ) and ["./language/syntax.rq".file_layout]. Indexed as ideaset kind `file` in [analytical_types]. | 0.094 |
| grammar_rule | reqlan rq/ontology.rq | done | Grammar rules describe the syntax features. Requirements: ["./language/syntax.rq"]; lexer bridge: ["./language/parser_lexer.rq".lexer_bridge_to_syntax]. Langium: [reqlan_grammar]; comment grammar: [comment_grammar]; index-path AST: [rust_ast]. | 0.040 |
| idea | reqlan rq/ontology.rq | done | A reqlan core unit is an idea. Syntax: ["./language/syntax.rq".simple_idea], ["./language/syntax.rq".block_idea]. Grammar: [reqlan_grammar] `Idea` / `OneLinerIdea`; index records: [analytical_types] `IdeaRecord`. Extract: [idea_extractor], [rust_extract]; AST: [rust_ast]. Product surface: [ideas_summary_tabs] Ideas tab per ["./extension/workspace-summary/ideas_summary/webview.rq".ontology_aligned_tabs]. | 0.110 |
| idea_name | reqlan rq/ontology.rq | done | The idea name is a string / handle / variable that uniquely identifies the idea ( within the ideaset / file ). It should not be a reserved [keyword]. Syntax: ["./language/syntax.rq".idea_name]; grammar: [reqlan_grammar] `IdeaName`. | 0.069 |
| ideaset | reqlan rq/ontology.rq | done | Ideasets are namespace containers for ideas. Syntax: ["./language/syntax.rq".ideaset]. Grammar: [reqlan_grammar] `IdeaSet`. Index kind `ideaset` plus `ideaset_member` edges: [analytical_types], [idea_extractor], [rust_index_types]. A [file] is an implicit ideaset ( ["./language/syntax.rq".file_layout] ). Product surface: [ideas_summary_tabs] Ideasets tab. | 0.134 |
| import_statement | reqlan rq/ontology.rq | done | Imports describe references. Some [keyword] s are reserved for imports. Forms: ["./language/imports.rq".import_from], ["./language/imports.rq".import_namespace], ["./language/imports.rq".import_qualified]. Grammar: [reqlan_grammar] `Import`; resolve: [import_resolver]. | 0.063 |
| keyword | reqlan rq/ontology.rq | done | As a language, reqlan has keywords that are reserved in some contexts. Import statement keywords: ["./language/imports.rq".import_keywords] ( `import`, `from`, `as` ). Grammar: [reqlan_grammar] — those tokens are keywords only at statement start. Idea names should not use reserved keywords ( [idea_name] ). | 0.057 |
| reference | reqlan rq/ontology.rq | done | References link ideas to other ideas, files, and symbols. Syntax: ["./language/syntax.rq".reference_brackets], ["./language/syntax.rq".reference_wikilink], ["./language/syntax.rq".reference_qualified], ["./language/syntax.rq".reference_file], ["./language/syntax.rq".reference_url], ["./language/syntax.rq".reference_embedding]. Kinds: [reference_types]. Grammar: [reqlan_grammar] `ReferenceTarget`; index edges: [idea_extractor], [rust_extract]. | 0.655 |
| reference_types | reqlan rq/ontology.rq | [reference] Kinds of [reference]. Details in ["./reference_types.rq"]. Index edge kinds live on [analytical_types] / [rust_index_types]. [idea_reference] [ideaset_reference] [comment_reference] [file_reference] [link_reference] [url_reference] [wildcard_reference] | 0.127 | |
| referenced_files | reqlan rq/ontology.rq | done | Non- `.rq` files that ideas reference, or that reference ideas. These may be shared. They should be captured in the ["./indexer/indexer.rq".index]. Outbound file refs: ["./language/syntax.rq".reference_file], [file_reference_resolve], edge kind `file_reference` in [analytical_types]. Inbound comment refs: ["./extension/language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments] via [comment_resolver] / [comment_grammar]. Full non- `.rq` file indexing of comment-bearing sources: ["./indexer/indexer.rq".index_code_files]. Click treats those files as centres: ["./cli/click.rq".click_code_file]. | 0.169 |
| activity_bar_site_link | reqlan rq/phonebook.rq | The activity bar Context webview header info control opens phonebook link id `site` per ["./extension/local-context/activitybar.rq".info_site_link]. | 0.047 | |
| extension_readme_links | reqlan rq/phonebook.rq | The extension VSIX README uses phonebook link ids `site`, `github`, `vsc`, `openvsx`, `discord`, `github-sponsors`, and `email` for site, repository, marketplace, Open VSX, Discord, sponsorship, and contact URLs. Generation is defined in ["./distribution/distribution.rq".extension_readme]. | 0.054 | |
| github_funding | reqlan rq/phonebook.rq | done | The GitHub sponsor button is configured in ["../.github/FUNDING.yml"]. The GitHub Sponsors username is the account in phonebook link id `github-sponsors`. Discord is community, not a funding platform: do not list it in FUNDING. yml. | 0.046 |
| npm_package_readme_links | reqlan rq/phonebook.rq | Publishable npm package READMEs ( `@reqlan/language`, `@reqlan/analytical`, `@reqlan/cli`, `@reqlan/mcp` ) use the same phonebook link ids as [extension_readme_links]. Generation is defined in ["./distribution/distribution.rq".npm_package_readme]. | 0.046 | |
| npm_packages | reqlan rq/phonebook.rq | Publishable npm packages ( `@reqlan/language`, `@reqlan/analytical`, `@reqlan/cli`, `@reqlan/mcp` ) live under the `packages` key in ["./phonebook.json"]. Package ids are `language`, `analytical`, `cli`, and `mcp`. The site Links section renders them under Packages per ["./site/site.rq".links] / ["./site/site.rq".package_icons]. Typed helpers: `phonebookPackages`, `getPhonebookPackage` in ["../scripts/phonebook.ts"]. | 0.095 | |
| phonebook | reqlan rq/phonebook.rq | Canonical project links and publishable npm package URLs live in ["./phonebook.json"]. Modules that need contact, repo, marketplace, Discord, sponsorship, or npm package URLs should read from there instead of hardcoding values. Typed access is shared via ["../scripts/phonebook.ts"] for the site and extension README generator. | 0.176 | |
| phonebook_icons | reqlan rq/phonebook.rq | Icon sets and lookup URLs live under the `icons` key in ["./phonebook.json"]. A link or package can omit `icon`. If `icon` is present, it references a set id ( `simple-icons`, `mdi`, … ) and slug `name` from that set's catalog. Search a set at its `search` URL when renaming or replacing icons. Surfaces render icons with Iconify via the packages listed in each set's `package` field per ["./development/core.rq".iconify_stack]. Site registry: ["../site/src/lib/phonebook-icons.ts"] per ["./site/site.rq".icon_registry]. | 0.057 | |
| root_readme_links | reqlan rq/phonebook.rq | The repository README uses phonebook link ids `site`, `github`, `vsc`, `openvsx`, `discord`, `github-sponsors`, and `email` for site, repository, marketplace, Open VSX, Discord, sponsorship, and contact URLs. Generation is defined in ["./distribution/distribution.rq".root_readme]. | 0.046 | |
| show_in_footer | reqlan rq/phonebook.rq | done | Each entry under `links` in ["./phonebook.json"] may set `show-in-footer`. The property is optional. Omitted means true. Set `show-in-footer` to false to keep a link out of the site footer and the landing contact list. Packages do not have this property. Schema: ["./phonebook.schema.json"]. Typed helpers: `isShownInFooter`, `phonebookFooterLinks` in ["../scripts/phonebook.ts"] and ["../site/src/lib/phonebook.ts"]. per ["./site/site.rq".footer] per ["./site/site.rq".links] | 0.072 |
| comment_reference | reqlan rq/reference_types.rq | done | Inbound ["./ontology.rq".reference] from comments in non- `.rq` source: `rq:[idea]` / `rq:["path".idea]`. Qualified paths may use import-root aliases ( `rq:["@/path".idea]` ) per ["./language/imports.rq".configuration_import_root_alias] and ["./extension/language/comment-references/functional-code-comment-references.rq".comment_reference_import_root_alias]. Spec: ["./extension/language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments] Syntax note: ["./language/syntax.rq".comment_reference]. Resolve: [comment_resolver]. Unresolved: ["./language/syntax.rq".comment_reference_resolution_error]. Index edge kind `comment_link`. Related capture of those files: ["./ontology.rq".referenced_files]. Indexer: ["./indexer/indexer.rq".index_code_files]. | 0.119 |
| file_reference | reqlan rq/reference_types.rq | done | Outbound ["./ontology.rq".reference] to a file, folder, or symbol — not only `.rq`. Syntax: ["./language/syntax.rq".reference_file] ( bracketed quoted path, optional `L#` / symbol path ). Index edge kind `file_reference`. Resolve: [file_reference_resolve]; extract: [idea_extractor]. Editor links: ["./extension/language/syntax/features-syntax.rq".file_references]. Inbound file-reference CodeLens at the top of the target file: ["./extension/language/syntax/features-syntax-highlighting.rq".file_inbound_code_lens]. Non- `.rq` targets and inbound comment traffic: ["./ontology.rq".referenced_files]. Markdown `[label](target)` also stores this edge kind — see [link_reference]. Quoted body text is not this kind: [reference_edgecase]. | 0.211 |
| idea_reference | reqlan rq/reference_types.rq | done | Idea-to-idea ["./ontology.rq".reference]: bracket `[name]` / `[ideaset.name]` targets a local, imported, or same-file idea. Syntax: ["./language/syntax.rq".reference_brackets], ["./language/syntax.rq".same_file_reference], ["./language/syntax.rq".reference_qualified], ["./language/syntax.rq".reference_embedding], ["./language/syntax.rq".references_to_subidea]. Index edge kind `references` on [analytical_types] / [rust_index_types]. Extract: [idea_extractor], [rust_extract]. A `[ideaset.member]` form records the edge on the member leaf, not on the ideaset container. An attribute uses the same brackets. See ["./language/syntax.rq".attribute_namespacing]. Wikilink surface for the same edge kind: [link_reference]. Fan-out across files: [wildcard_reference]. | 0.125 |
| ideaset_reference | reqlan rq/reference_types.rq | done | References to an ["./ontology.rq".ideaset] or a namespace that behaves as one. Syntax: ["./language/syntax.rq".ideaset]; namespace import alias: ["./language/imports.rq".import_namespace] ( `[alias]` opens the imported file and links only the alias name ). Membership edges are `ideaset_member`; a bare namespace-alias bracket is stored as `file_reference` ( [idea_extractor] ), not `references`. | 0.057 |
| link_reference | reqlan rq/reference_types.rq | done | Link-shaped ["./ontology.rq".reference] surfaces that are not a bare `[idea]` bracket. Wikilink `[[target]]` ( optional alias pipe ): ["./language/syntax.rq".reference_wikilink] — indexes as idea-to-idea `references`, same as [idea_reference]. Markdown `[label](target)`: ["./language/syntax.rq".markdown_links] — label is not an idea ref; the target indexes as `file_reference` ( [file_reference] ). | 0.112 |
| reference_edgecase | reqlan rq/reference_types.rq | done | A quoted string is a [file_reference] only when it is inside brackets. Example of a file reference: ["./reference_types.rq"] Example of body text: " this is not a reference. rq " The file suffix does not change this rule. The parser must not make a file reference from quoted body text. The language server must not make a document link or a missing-file error from quoted body text. Related: [file_reference], ["./language/syntax.rq".naked_strings_in_body], ["./language/syntax.rq".reference_file]. | 0.112 |
| url_reference | reqlan rq/reference_types.rq | done | A bracket reference whose target is an absolute URL with a scheme and `://`. Example: [https://reqlan.com/]. Syntax: ["./language/syntax.rq".reference_url]. Index edge kind `url_reference` on [analytical_types] / [rust_index_types]. Extract: [idea_extractor], [rust_extract]. [check] does not treat a URL reference as a missing idea or a missing file. Unbracketed URLs in body prose stay text, not this kind. Related: [file_reference], [link_reference]. | 0.075 |
| wildcard_reference | reqlan rq/reference_types.rq | done | One ["./ontology.rq".reference] that matches many ideas: quoted path glob + idea pattern ( `*` / `?` ). Syntax and navigation: ["./language/imports.rq".wildcard_references], ["./language/imports.rq".wildcard_references_webview]. Index: one `wildcard_reference` edge per catalog match ( ["./indexer/indexer.rq".wildcard_reference_edges] ); never stored as plain `references`. Native extract: ["../crates/reqlan-index/src/extract.rs"]. Sparse match handling: ["./core_analysis/check.rq".check_wildcard_sparse] ( ["./core_analysis/check.rq".check_wildcard_zero], ["./core_analysis/check.rq".check_wildcard_one] ). | 0.279 |
| show_dont_tell | reqlan rq/ui.rq | copy should be minimal and user facing. no long lists, no avoidable labels. | 0.052 |
Cluster graph
Initialising graph…