AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing Loki-Astari/ThorsAnvil in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewThorsAnvil A set of modern C++20 libraries for writing interactive Web-Services. **Online documentation:** https://loki-astari.github.io/ThorsAnvil/ This project provides the following libraries: • Mug A simple configurable C++ that dynamically loads shared libraries that install handlers. • Nisse • **NisseServer** Provides a server object that handles socket events and non-blocking async IO operations. • **NisseHTTP** Provides HTTP request/response objects exposing the body as an async std::iostream. This allows C++ objects to be streamed directly via a REST interface with no serialization code. • API Supported: • ThorsSlack Type-safe API to send REST messages to/from Slack. Supports REST Slack API and Slack webhooks via NissaHTTP. Use C++ objects, no serialization code required. • ThorsMongo Type-safe interface for inserting/updating/finding objects in a collection. Sends and receives MongoDB wire protocol messages. Directly send C++ objects to a Mongo collection with no serialization code. • ThorsSerializer Automatically converts C++ objects into **JSON** / **BSON** / **YAML** • ThorsSocket Async IO library for **Files**/**Pipes**/**Sockets**/**Secure Sockets** that exposes all of them via std::iostream interface. • ThorsCrypto C++ wrapper around platform-specific libraries to support **base64 Encoding**, **CRC Checksum**, **Hashing**, **HMAC**, **SCRAM**, **MD5**, **SHA-1**, **SHA-256**. • ThorsIOUtil • ThorsLogging The main goal of these projects is to remove the need to write boilerplate code. Using a declarative style, an engineer can define the C++ classes and members that need to be serialized. Write-Ups Detailed explanations of these projects can be found at: LokiAstari.com Installing Easy: Using Brew Can be installed via brew on Mac and Linux > brew install thors-anvil • Mac: https://formulae.brew.sh/formula/thors-anvil • Linux: https://formulae.brew.sh/formula-linux/thors-anvil Building Manually > git clone git@github.com:Loki-Astari/ThorsAnvil.git > cd ThorsAnvil > ./configure > make Note: The script will tell you about any missing dependencies and how to install them. Building Conan If you have Conan installed, the Conan build processes should work. > git clone git@github.com:Loki-Astari/ThorsAnvil.git > cd ThorsAnvil > conan build -s compiler.cppstd=20 conanfile.py Header Only To install the header-only version > git clone --single-branch --branch header-only https://github.com/Loki-Astari/ThorsAnvil.git Some dependencies you will need to install manually for header-only builds. Magic Enum: https://github.com/Neargye/magic_enum libYaml https://github.com/yaml/libyaml libSnappy https://github.com/google/snappy libZ https://www.zlib.net/ Note: The header-only version does not include Mug Building With Visual Studio To build on Windows, you will need to add the flag: . These libraries make heavy use of VAR_ARG macros to generate code for you, so they require a conforming pre-processor. See Macro Expansion of __VA_ARGS__ Bug in Visual Studio? for details.