Skip to content

pimalaya/config

Repository files navigation

Config Documentation Matrix Mastodon

Config utils for Pimalaya

Warning

This crate is published for internal Pimalaya usage. Its API is intentionally minimal, follows the needs of the Pimalaya command-line tools and may change without notice. It is not intended as a general-purpose configuration library.

Table of contents

Features

  • TOML loader: reads a project's TOML configuration from explicit paths or the platform default locations, deep-merging several files into one and telling a missing file apart from an unreadable one so callers can launch a wizard (requires toml feature).
  • Secret resolution: resolves a secret from a literal value or a shell command's standard output, evaluated lazily at the moment it is needed rather than cached (requires secret feature).
  • Shell command deserialization: a serde adapter reading a command as a shell line string or a program-plus-arguments list, writing either shape back unchanged.

Tip

pimalaya-config is written in Rust and uses cargo features to gate the loader and the secret resolver. The default feature set is declared in Cargo.toml or on docs.rs.

Usage

The whole API is documented on docs.rs; the Pimalaya command-line tools are its real-world consumers.

AI disclosure

This project is developed with AI assistance. This section documents how, so users and downstream packagers can make informed decisions.

  • Tools: Claude Code (Anthropic), invoked locally with a persistent project-scoped memory and a small set of repo-specific rules.
  • Used for: Refactors, mechanical multi-file edits, boilerplate (feature gates, error enums, derive macros, trait impls), test scaffolding, doc polish, exploratory design conversations.
  • Not used for: Engineering, critical code, git manipulation (commit, merge, rebase…), real-world tests.
  • Verification: Every AI-assisted change is read, compiled, tested, and formatted before commit. Behavioural correctness is verified against the relevant RFC or upstream spec, not assumed from the model output. Tests are never adjusted to fit AI-generated code; the code is adjusted to fit correct behaviour.
  • Limitations: AI models occasionally produce code that compiles and passes tests but is subtly wrong. The verification workflow catches most of this; it does not catch all of it. Bug reports are welcome and taken seriously.
  • Last reviewed: 16/07/2026

License

This project is dual-licensed under either of:

at your option.

Social

Contributing

Contributions are welcome: start with CONTRIBUTING.md, which opens with the Pimalaya-wide guides to read first.

Sponsoring

nlnet

Special thanks to the NLnet foundation and the European Commission that have been financially supporting the project for years:

If you appreciate the project, feel free to donate using one of the following providers:

GitHub Ko-fi Buy Me a Coffee Liberapay thanks.dev PayPal

About

Config utils for Pimalaya

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Contributors