# Sprout

## Sprout

- [About](https://docs.atom.codes/sprout/readme.md): What is the Sprout project ?
- [Roadmap to Sprout v1.0](https://docs.atom.codes/sprout/roadmap-to-sprout-v1.0.md): The roadmap to grow the sprout
- [Migration from Sprig](https://docs.atom.codes/sprout/migration-from-sprig.md): Coming from Sprig and looking to use Sprout? You're in the right place for a complete guide on making the transition. This guideline will help you navigate the differences.
- [Getting Started](https://docs.atom.codes/sprout/introduction/getting-started.md): A quick start guide to understand and use Sprout in your project
- [Templating Conventions](https://docs.atom.codes/sprout/introduction/templating-conventions.md): This page provides the coding standards and best practices for the go-sprout/sprout project, ensuring consistency and maintainability across the codebase.
- [Loader System (Registry)](https://docs.atom.codes/sprout/features/loader-system-registry.md): Need just 10 functions or want to create your own? Introducing: the Registry
- [Loader System (Registry Group)](https://docs.atom.codes/sprout/features/loader-system-registry-group.md): Managing multiple registries can be simplified with RegistryGroup feature.
- [Function Aliases](https://docs.atom.codes/sprout/features/function-aliases.md): Need two names for one function in your code? Aliases are the solution.
- [Function Notices](https://docs.atom.codes/sprout/features/function-notices.md): Need to inform or warn your end-users ? For a change or a deprecation ? Notices are here.
- [Safe Functions](https://docs.atom.codes/sprout/features/safe-functions.md): When you don't want to stop the execution of your template when an error occurs, you can use the function-safe feature.
- [List of all registries](https://docs.atom.codes/sprout/registries/list-of-all-registries.md)
- [REGISTRYNAME](https://docs.atom.codes/sprout/registries/registryname.md): DESCRIPTION
- [Backward](https://docs.atom.codes/sprout/registries/backward.md): The Backward registry offers functions to maintain compatibility with older Sprig versions, ensuring legacy templates continue to work seamlessly after updates.
- [Checksum](https://docs.atom.codes/sprout/registries/checksum.md): The Checksum registry offers functions to generate and verify checksums, ensuring data integrity. It supports various algorithms for reliable error detection and data validation.
- [Conversion](https://docs.atom.codes/sprout/registries/conversion.md): The Conversion registry includes a collection of functions designed to convert one data type to another directly within your templates. This allows for seamless type transformations.
- [Crypto](https://docs.atom.codes/sprout/registries/crypto.md): The Crypto registry includes essential cryptographic tools for enhancing security in your projects, such as encryption, decryption, certificates generations.
- [Encoding](https://docs.atom.codes/sprout/registries/encoding.md): The Encoding registry offers methods for encoding and decoding data in different formats, allowing for flexible data representation and storage within your templates.
- [Env](https://docs.atom.codes/sprout/registries/env.md): The Env registry provides functions for accessing and managing environment variables, enabling dynamic configuration of your applications based on the runtime environment.
- [Filesystem](https://docs.atom.codes/sprout/registries/filesystem.md): The Filesystem registry allows for efficient interaction with the file system, providing functions to read, write, and manipulate files directly from your templates.
- [Maps](https://docs.atom.codes/sprout/registries/maps.md): The Maps registry offers tools for creating, manipulating, and interacting with map data structures, facilitating efficient data organization and retrieval.
- [Numeric](https://docs.atom.codes/sprout/registries/numeric.md): The Numeric registry includes a range of utilities for performing numerical operations and calculations, making it easier to handle numbers and perform math functions in your templates.
- [Network](https://docs.atom.codes/sprout/registries/network.md): The Network registry includes a range of utilities for working with network resources, such as IP addresses, CIDR blocks, and network interfaces.
- [Random](https://docs.atom.codes/sprout/registries/random.md): The Random registry provides functions to generate random numbers, strings, and other data types, useful for scenarios requiring randomness or unique identifiers.
- [Reflect](https://docs.atom.codes/sprout/registries/reflect.md): The Reflect registry offers tools for inspecting and manipulating data types using reflection, enabling advanced dynamic type handling within your projects.
- [Regexp](https://docs.atom.codes/sprout/registries/regexp.md): The Regexp registry includes functions for pattern matching and string manipulation using regular expressions, providing powerful text processing capabilities.
- [SemVer](https://docs.atom.codes/sprout/registries/semver.md): The Semver registry is designed to handle semantic versioning, offering functions to compare and manage version numbers consistently across your projects.
- [Slices](https://docs.atom.codes/sprout/registries/slices.md): The Slices registry provides utilities for working with slice data structures, including functions for filtering, sorting, and transforming slices in a flexible manner.
- [Std](https://docs.atom.codes/sprout/registries/std.md): The Std registry provides a set of standard functions for common tasks, included by default, making it easy to perform basic operations without additional setup.
- [Strings](https://docs.atom.codes/sprout/registries/strings.md): The Strings registry offers a comprehensive set of functions for manipulating strings, including formatting, splitting, joining, and other common string operations.
- [Time](https://docs.atom.codes/sprout/registries/time.md): The Time registry provides tools to manage and manipulate dates, times, and time-related calculations, making it easy to handle time-based data in your projects.
- [Uniqueid](https://docs.atom.codes/sprout/registries/uniqueid.md): The Uniqueid registry offers functions to generate unique identifiers, such as UUIDs, which are essential for creating distinct and traceable entities in your applications.
- [List of all registry groups](https://docs.atom.codes/sprout/groups/list-of-all-registry-groups.md)
- [All](https://docs.atom.codes/sprout/groups/all.md): The All registry group includes all the registries available in Sprout, excluding deprecated and experimental registries.
- [Hermetic](https://docs.atom.codes/sprout/groups/hermetic.md): The Hermetic registry group includes all the registries available in Sprout, excluding registries that depend on external services or are influenced by the environment where the application is running
- [How to create a handler](https://docs.atom.codes/sprout/advanced/how-to-create-a-handler.md)
- [How to create a registry](https://docs.atom.codes/sprout/advanced/how-to-create-a-registry.md)
- [How to create a registry group](https://docs.atom.codes/sprout/advanced/how-to-create-a-registry-group.md)
