Skip to content

feat(core): add a configuration system with file and environment support #7

Open

Description

@Ayinkx01

Problem

There is no configuration system; networks, endpoints, and output settings cannot be persisted.

Why this matters

Configuration is required for real workflows and CI.

Context

devkit-core currently exposes only types.

Scope

  • Load configuration from a TOML file and STELLAR_FOUNDRY_* environment variables.

  • Validate unknown fields and referenced values.

Out of scope

  • Remote configuration.

Technical guidance

  • Treat configuration files as untrusted input; never let them enable network access implicitly.

Relevant modules/files

  • crates/devkit-core/src/lib.rs

Acceptance criteria

  • Config precedence is documented and tested

  • Invalid config is rejected with a clear error

Tests required

  • Parsing, precedence, and rejection tests

Security considerations

Configuration must never contain or log secrets; document this.

Performance considerations

None specific.

Documentation requirements

Add docs/CONFIGURATION.md.

Dependencies

None.

Definition of done

Merged with tests passing and CI green.

Complexity recommendation

difficulty/medium

Contribution guidelines

  • Assignment required before starting. Request assignment on this issue; do not open a pull request until a maintainer has assigned you.

  • Your pull request must include Closes #7.

  • Run the local gate before opening the PR:

    cargo fmt --all -- --check
    cargo clippy --all-targets --all-features -- -D warnings
    cargo test --all
    
  • Example commit message: feat(core): add a configuration system with file and environment support

  • Suggested timeframe: complete within the active Wave cycle.

  • Complexity is tagged with a difficulty/* label. Drips determines the applicable points and budget through its own system.

  • See docs/WAVE.md and CONTRIBUTING.md.

Activity

  1. Ayinkx01 commented on Oct 28, 2026

    @Ayinkx01
    ContributorAuthor

    Partially implemented on main in #133: devkit-config parses strict TOML, applies STELLAR_FOUNDRY_* overrides, validates timeouts, and is wired into rpc-health. docs/CONFIGURATION.md now documents fields and precedence. Remaining: an explicit precedence test (CLI > environment > file) and any config subcommands. Marking status/needs-revision.

  2. added and removed on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions