Skip to main content
Q-Code

Module library

The module library

The Q-Code module library holds 20 installable modules, grouped into foundations, content, catalogue and booking, engagement, and accounts and agents.

A module is a feature that has already been built, argued about and hardened on other projects, so installing one is a switch rather than a build. Each brings its own admin panel, its own structured data and its own audit rules with it.

modules
20
groups
5

Five groups

Grouped by what they are for.

Not by size or by how much they do. Each group answers one question about a project, and most projects work through them roughly in this order.

Foundations

5 modules

Visibility, analytics, security, legal pages and cookie consent: the five modules every Q-Code project installs first, and what each one does.

  • Visibility engine

    @ccd/visibility

  • Analytics

    @ccd/analytics

  • Security baseline

    @ccd/security

  • Legal pages

    @ccd/legal-pages

  • Cookie consent

    @ccd/cookie-consent

What the foundations modules do

Content

5 modules

Blog, FAQ, testimonials, gallery and footer: the five Q-Code modules that make posts, reviews, photos and site-wide links editable in a panel.

  • Self-improving blog

    @ccd/blog

  • FAQ

    @ccd/faq

  • Testimonials

    @ccd/testimonials

  • Gallery

    @ccd/gallery

  • Footer

    @ccd/footer

What the content modules do

Engagement

4 modules

Contact form, newsletter, social and AI chat: the four Q-Code modules that turn a brochure site into somewhere people actually reach you.

  • Contact form and inbox

    @ccd/contact-form

  • Newsletter

    @ccd/newsletter

  • Social profiles

    @ccd/social

  • AI chat

    @ccd/ai-chat

What the engagement modules do

Admin, auth, Google and agent access: the four Q-Code modules for who can sign in, what Google knows about the site, and what an assistant can call.

  • Admin dashboard

    @ccd/admin

  • Sign-in and members

    @ccd/auth

  • Google connections

    @ccd/google

  • Agent access

    @ccd/agent-api

What the accounts and agents modules do

What a module is

Six properties, and every module has all six.

A library is only worth having if its parts behave predictably. These are the rules a module has to satisfy before it goes in.

Built once, fixed everywhere

A bug found on one project is fixed in the module, and every project that has it installed gets the fix. That is the whole economic argument for a library.

Its own panel

A module that adds data adds the screen for editing it. No module leaves you with a database table and no way to reach it.

Its own markup

Structured data comes with the module and describes only what the module actually renders, so installing one cannot quietly cost you a point of visibility.

Places itself

A module that adds a page registers its own navigation link. A module that adds a section registers for a slot. Installing it puts it somewhere a visitor can find.

Removable

Uninstalling removes the code and the links. It does not remove your data, and it never touches an account in your name.

Token-driven

Modules use the guaranteed token vocabulary rather than their own colours, so an installed module looks like the site it landed on instead of like a widget.

Modules and agents

What you install decides what an assistant can ask.

Agent access turns the site into an MCP server, and its tools are derived from the modules already there rather than from a list somebody maintains.

Install the catalogue and the next build exposes a search tool and an item tool. Install booking and it exposes availability and a booking. Remove one and its tools go with it, so an assistant is never offered a door that leads nowhere. On a site with every tool-bearing module installed that is 13 tools, and on a site with none of them it is one: the tool that says what the site is.

The same rule holds for the discovery cards the site publishes, which are generated from that registry and therefore cannot describe a tool the site does not have. All of it stays off until agent access is switched on.

Which module gives which tool

All of them

Every module, in one list.

Sorted by group. The install name is the real one, and a few of these are already load-bearing in the template itself.

Every Q-Code module, its group, its install name and what it does
ModuleGroupPackageWhat it does
Visibility engineFoundations@ccd/visibilityOne score across SEO, AEO, LLMO, conversion and agent readiness, measured on the built HTML.
AnalyticsFoundations@ccd/analyticsServer-side page and event counts with no cookies and no consent banner.
Security baselineFoundations@ccd/securityThe baseline hardening every project ships with: HTTPS, headers, row-level security and a firewall.
Legal pagesFoundations@ccd/legal-pagesA privacy policy and terms of service that read the project’s own configuration rather than a template.
Cookie consentFoundations@ccd/cookie-consentA consent banner for the project that sets a cookie needing one.
Self-improving blogContent@ccd/blogA blog that reads the site’s own visibility report before it decides what to write.
FAQContent@ccd/faqA visible questions-and-answers page, marked up as FAQPage for exactly what it shows.
TestimonialsContent@ccd/testimonialsCollect, approve and place customer quotes, as a wall or a carousel.
GalleryContent@ccd/galleryThe shared image foundation: one original kept in storage, every size made at the edge.
FooterContent@ccd/footerThe site footer: navigation, legal links, social profiles and the copyright line, wired once.
ListingsCatalogue and booking@ccd/listingsOne listing engine that reshapes itself for cars, property, products or services.
BookingCatalogue and booking@ccd/bookingReal availability and real time zones, confirmed by email and added to a calendar.
Contact form and inboxEngagement@ccd/contact-formAny form on the site, with the replies threaded in a shared inbox.
NewsletterEngagement@ccd/newsletterA list you own, sent from your own domain, with double opt-in as the default.
Social profilesEngagement@ccd/socialYour profiles in the footer and in the structured data, plus a posting queue.
AI chatEngagement@ccd/ai-chatA chat widget on the site itself, answering from the same content the pages already show.
Admin dashboardAccounts and agents@ccd/adminThe private dashboard every other module adds its panel to, with one login for the owner.
Sign-in and membersAccounts and agents@ccd/authSign-in for the site’s owner and, where a project needs it, its members.
Google connectionsAccounts and agents@ccd/googleConnects the site to Google: Business Profile, Search Console and review data, in one panel.
Agent accessAccounts and agents@ccd/agent-apiMakes the site an MCP server, so an assistant can call its tools instead of scraping its pages.

Q&A

Questions about modules

How long does installing a module take?

A build, which is minutes, because the module already exists rather than being written for you. What the build does is wire it into this project and place it on the pages where it belongs.

Can I have a feature that is not in the library?

Yes. Anything can be built for a single project, and the ones that turn out to be generally useful become modules afterwards. That is where most of these came from.

Do modules slow the site down?

Not measurably. Pages stay static HTML and ship no JavaScript unless a module genuinely needs interactivity, and the ones that do are loaded only when they scroll into view.

What happens to my data if I uninstall one?

It stays in the project database and is exportable. Uninstalling removes the code that reads it and the links that pointed at it.

Do modules decide what an AI assistant can do with the site?

Yes, when agent access is installed. The tools the site offers an assistant are derived from the modules it has, so a catalogue gives search and item tools, booking gives availability and booking, and a site with nothing installed offers nothing. There is no separate list to maintain.

Ask for the feature, not the module.

You do not need to know which module you want. Describe what the site should do and the build picks the parts that already exist.