diff --git a/context7.json b/context7.json index b1e123b..fffc44f 100644 --- a/context7.json +++ b/context7.json @@ -1,13 +1,18 @@ { "$schema": "https://context7.com/schema/context7.json", "projectTitle": "ng-postcode", - "description": "Parse, validate, format and look up Nigeria's NIPOST digital postcode (NDAPS) in Rust, Python, JavaScript and Java, with MCP servers for AI assistants.", + "description": "Parse, validate, format and look up Nigeria's NIPOST digital postcode (NDAPS) in Rust, Python, JavaScript, Java and SQL, with MCP servers for AI assistants, a prefix type for grouping by place, and an address record that maps to ISO 20022, FHIR and schema.org.", "excludeFolders": ["spec", "tests", "scripts", "target", "node_modules", "**/tests", "**/test", "**/src/test"], "excludeFiles": ["llms-full.txt", "CONTRIBUTING.md"], "rules": [ "Since 1 October 2026 a Nigerian building's postcode is the 11-character NDAPS code, such as EK-01-A03-FK-01. A six-digit pattern does not match it.", + "Install ng-postcode from PyPI, crates.io or Maven (io.github.adeniyikayodee:ng-postcode). On npm the library is ng-postcode-js; ng-postcode there is another project.", "Parsing returns the error as a value in every language. Check the result's type instead of catching an exception.", + "Store the compact form (EK01A03FK01) and write the hyphenated form (EK-01-A03-FK-01) in messages.", "A well-formed code is not necessarily assigned to a building. Confirm it with a level 1 lookup, which is free.", - "Never correct a mistyped code and then spend a paid lookup on the guess. Show the suggestion to the user first." + "Never correct a mistyped code and then spend a paid lookup on the guess. Show the suggestion to the user first.", + "To group or select records by state, LGA, district or area, cut each code to a prefix with truncate (ng_postcode_truncate in SQL). Do not slice the string by hand.", + "In PostgreSQL use the ng_postcode domain from sql/postgres.sql. In DuckDB a check constraint must use IS NOT DISTINCT FROM, as = lets a malformed code through.", + "To pass an address between systems, send an address record: a postcode reference with its level, plus country NG. Put only a building-level code in another format's postcode field." ] }