reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/configuration_rqignore

Idea detail

configuration_rqignore

reqlan rq/extension/configuration.rq:79

block done

Summary

Each base may define path ignore rules in `.reqlan/.rqignore` using * * gitignore syntax * *.
Patterns are relative to the base root ( parent of `.reqlan` ), not the `.reqlan` directory.
Owned by `@reqlan/analytical` so the CLI, MCP, and extension share one filter for discovery and indexing walks.
Built-in defaults always apply ( dependencies, venvs, build output, VCS / editor stores, `*.db3` / sqlite DBs, `*.secret.rq`, hidden entries, and `.reqlan/` itself ); the on-disk file adds or overrides via the same syntax, including `!` negation.
New bases seed `.reqlan/.rqignore` with those defaults ( rqignore ).
Missing or unreadable `.rqignore` still uses built-in defaults.
Location convention: configuration_location. Application memory: application_memory.

Jump to outbound references

Jump to inbound references

Navigation

Source file

reqlan rq/extension/configuration.rq

community 10

community cluster

configuration.rq

file cluster

reqlan rq/extension

folder cluster

status: done

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

KeyValue
implementation rqignore.ts, application-memory.ts, create-base.ts, base-discovery.ts, workspace-index.ts
tests rqignore.test.ts, .rqignore when creating a new base, base-discovery.test.ts:skips node_modules and does not treat .reqlan as a walkable base root, workspace-index.test.ts:skips .rq files under rqignore patterns
status done

Browse all attributes

Ancestor context

configuration_location

An optional `.reqlan/config.json` may appear under a base's `.reqlan` directory. For a given `.rq` file, the applying base is the nearest ancestor directory that owns a `.reqlan` folder. The applying config is that base's `.reqlan/config.json` when present. If the owning base has no `config.json`, or no owning base is found, defaults from [configuration_import_roots] apply. A child base does not inherit a parent base's config. Implemented by ["../../packages/language/src/reqlan-path-resolve.ts"].

configuration_import_roots

`importRoots` is an optional array of alias-to-directory mappings in `.reqlan/config.json`. Each mapping has: - `alias` ( required non-empty string ): prefix before `/` in aliased import paths. - `root` ( optional non-empty string ): directory for that alias. A relative `root` resolves against the base root ( the parent of `.reqlan` ), not against the `.reqlan` directory. An absolute path or `file://` URI is used as that alias' import-root directory directly. When `root` is omitted for a mapping, that alias uses the workspace folder that contains the `.rq` file. When `importRoots` is omitted, empty, or has no valid entries, the default is one mapping with alias `@` and no explicit root. When several aliases could match a path, the longest alias wins. Invalid or unreadable JSON, and a non-array `importRoots` value, fall back to defaults ( or no loaded config for discovery, then defaults at resolve time ). Language path forms and `@/` shorthand: ["../language/imports.rq".import_paths] and ["../language/imports.rq".configuration_import_root_alias]. Schema: [configuration_schema_file]. Applying file discovery: [configuration_location]. Editor completion of aliased import paths: ["./syntax/features-syntax.rq".code_completion].

configuration_schema_file

The machine-readable JSON Schema for `.reqlan/config.json` is ["../../packages/extension/schemas/config.schema.json"]. The extension contributes that schema for `**/.reqlan/config.json` via `jsonValidation` in ["../../packages/extension/package.json"]. `.reqlan/config.json` is a JSON object. Unknown properties are not part of the schema and are ignored when loading.

Outbound references

KindIdeaPathSnippet
file_reference ../../packages/analytical/src/core/application-memory.ts packages/analytical/src/core/application-memory.ts application-memory.ts
file_reference ../../packages/analytical/src/core/base-discovery.ts packages/analytical/src/core/base-discovery.ts base-discovery.ts
file_reference ../../packages/analytical/src/core/create-base.ts packages/analytical/src/core/create-base.ts create-base.ts
file_reference ../../packages/analytical/src/core/rqignore.ts packages/analytical/src/core/rqignore.ts rqignore.ts
file_reference ../../packages/analytical/src/index-store/workspace-index.ts packages/analytical/src/index-store/workspace-index.ts workspace-index.ts
file_reference ../../packages/analytical/test/base-discovery.test.ts:skips node_modules and does not treat .reqlan as a walkable base root packages/analytical/test/base-discovery.test.ts:skips node_modules and does not treat .reqlan as a walkable base root ["../../packages/analytical/test/base-discovery.test.ts:skips node_modules and does not treat .reqlan as a walkable base
file_reference ../../packages/analytical/test/create-base.test.ts:seeds .reqlan/.rqignore when creating a new base packages/analytical/test/create-base.test.ts:seeds .reqlan/.rqignore when creating a new base .rqignore when creating a new base
file_reference ../../packages/analytical/test/rqignore.test.ts packages/analytical/test/rqignore.test.ts rqignore.test.ts
file_reference ../../packages/analytical/test/workspace-index.test.ts:skips .rq files under rqignore patterns packages/analytical/test/workspace-index.test.ts:skips .rq files under rqignore patterns workspace-index.test.ts:skips .rq files under rqignore patterns
references configuration_location reqlan rq/extension/configuration.rq configuration_location

Inbound references

KindIdeaPathSnippet
None

Unresolved references

KindIdeaPathSnippet
references application_memory application_memory
references rqignore rqignore

Local graph

Initialising graph…