Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/bun-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Bun Tests

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: bun install
- run: bun test
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ target
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# Bun
node_modules/
bun.lockb

# Generated by cargo mutants
# Contains mutation testing data
**/mutants.out*/
Expand Down
19 changes: 19 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Rust files
src/*.rs
Cargo.toml
Cargo.lock
target/
rustfmt.toml

# CI/Config
.github/
docs/
CHANGELOG.md
.tool-versions
.release-please-manifest.json
release-please-config.json
renovate.json

# LLM stuff
.roo/
AGENTS.md
22 changes: 11 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,41 @@

* add collection and session sqlite configurations ([#18](https://github.com/dimensionalpocket/dps-config/issues/18)) ([8b719ad](https://github.com/dimensionalpocket/dps-config/commit/8b719add5c44a612106595fdc125646eeb38d7ac))

## [0.5.0](https://github.com/dimensionalpocket/dps-config-rs/compare/0.4.0...0.5.0) (2025-11-26)
## [0.5.0](https://github.com/dimensionalpocket/dps-config/compare/0.4.0...0.5.0) (2025-11-26)


### Features

* change auth_api_session_ttl_seconds type from u64 to u32 ([#13](https://github.com/dimensionalpocket/dps-config-rs/issues/13)) ([18e3960](https://github.com/dimensionalpocket/dps-config-rs/commit/18e396023c94805a12036b763b094c5cd2e8e043))
* change auth_api_session_ttl_seconds type from u64 to u32 ([#13](https://github.com/dimensionalpocket/dps-config/issues/13)) ([18e3960](https://github.com/dimensionalpocket/dps-config/commit/18e396023c94805a12036b763b094c5cd2e8e043))

## [0.4.0](https://github.com/dimensionalpocket/dps-config-rs/compare/0.3.0...0.4.0) (2025-11-25)
## [0.4.0](https://github.com/dimensionalpocket/dps-config/compare/0.3.0...0.4.0) (2025-11-25)


### ⚠ BREAKING CHANGES

* remove api_subdomain and introduce api_path configuration ([#11](https://github.com/dimensionalpocket/dps-config-rs/issues/11))
* remove api_subdomain and introduce api_path configuration ([#11](https://github.com/dimensionalpocket/dps-config/issues/11))

### Features

* remove api_subdomain and introduce api_path configuration ([#11](https://github.com/dimensionalpocket/dps-config-rs/issues/11)) ([091b0f5](https://github.com/dimensionalpocket/dps-config-rs/commit/091b0f5e33456f8021f9dbfdba1617e79275b1cb))
* remove api_subdomain and introduce api_path configuration ([#11](https://github.com/dimensionalpocket/dps-config/issues/11)) ([091b0f5](https://github.com/dimensionalpocket/dps-config/commit/091b0f5e33456f8021f9dbfdba1617e79275b1cb))

## [0.3.0](https://github.com/dimensionalpocket/dps-config-rs/compare/0.2.0...0.3.0) (2025-11-15)
## [0.3.0](https://github.com/dimensionalpocket/dps-config/compare/0.2.0...0.3.0) (2025-11-15)


### Features

* new properties ([#8](https://github.com/dimensionalpocket/dps-config-rs/issues/8)) ([51256f7](https://github.com/dimensionalpocket/dps-config-rs/commit/51256f72f8d9d3c1805e21a5e058d586a8edec7e))
* new properties ([#8](https://github.com/dimensionalpocket/dps-config/issues/8)) ([51256f7](https://github.com/dimensionalpocket/dps-config/commit/51256f72f8d9d3c1805e21a5e058d586a8edec7e))

## [0.2.0](https://github.com/dimensionalpocket/dps-config-rs/compare/0.1.0...0.2.0) (2025-11-14)
## [0.2.0](https://github.com/dimensionalpocket/dps-config/compare/0.1.0...0.2.0) (2025-11-14)


### Features

* add auth_api_session_ttl_seconds ([#4](https://github.com/dimensionalpocket/dps-config-rs/issues/4)) ([1a7104a](https://github.com/dimensionalpocket/dps-config-rs/commit/1a7104a4600529d1685146e13fa2b726b4faec55))
* add auth_api_session_ttl_seconds ([#4](https://github.com/dimensionalpocket/dps-config/issues/4)) ([1a7104a](https://github.com/dimensionalpocket/dps-config/commit/1a7104a4600529d1685146e13fa2b726b4faec55))

## [0.1.0](https://github.com/dimensionalpocket/dps-config-rs/compare/0.0.1...0.1.0) (2025-11-13)
## [0.1.0](https://github.com/dimensionalpocket/dps-config/compare/0.0.1...0.1.0) (2025-11-13)


### Features

* initial release ([6aeccb0](https://github.com/dimensionalpocket/dps-config-rs/commit/6aeccb0fdb7486b5fe53425591dc9a151dbd8a03))
* initial release ([6aeccb0](https://github.com/dimensionalpocket/dps-config/commit/6aeccb0fdb7486b5fe53425591dc9a151dbd8a03))
10 changes: 9 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@ edition = "2021"
authors = ["Dimensional Pocket"]
license = "MIT"
description = "Configuration management for the DPS ecosystem"
repository = "https://github.com/dimensionalpocket/dps-config-rs"
repository = "https://github.com/dimensionalpocket/dps-config"
exclude = [
"src/*.ts",
"package.json",
"bun.lockb",
"node_modules/",
".github/",
".npmignore"
]

[lib]
name = "dps_config"
Expand Down
48 changes: 41 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @dimensionalpocket/dps-config

[![Rust Tests](https://github.com/dimensionalpocket/dps-config-rs/actions/workflows/test.yml/badge.svg)](https://github.com/dimensionalpocket/dps-config-rs/actions/workflows/test.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Rust Tests](https://github.com/dimensionalpocket/dps-config/actions/workflows/test.yml/badge.svg)](https://github.com/dimensionalpocket/dps-config/actions/workflows/test.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

Configuration management for the [DPS ecosystem](https://github.com/dimensionalpocket/dps-readme).

Expand All @@ -18,22 +18,30 @@ Key principles:

## Installation

### Rust

Add it to `Cargo.toml`:

```toml
[dependencies]
dps-config = { git = "https://github.com/dimensionalpocket/dps-config-rs" }
dps-config = { git = "https://github.com/dimensionalpocket/dps-config" }
```

Or add via cargo:

```bash
cargo add --git https://github.com/dimensionalpocket/dps-config-rs dps-config
cargo add --git https://github.com/dimensionalpocket/dps-config dps-config
```

### Bun

```bash
bun add @dimensionalpocket/dps-config
```

## Quick Start

Basic usage example:
### Rust

```rust
use dps_config::DpsConfig;
Expand All @@ -55,6 +63,29 @@ fn main() {
}
```

### Bun / TypeScript

```typescript
import { DpsConfig } from "@dimensionalpocket/dps-config";

const config = new DpsConfig();

// defaults
const domain = config.getDomain();
const apiPath = config.getApiPath();

// overrides
config.setDomain("example.com");
config.setApiPath("v1");
config.setDevelopmentMode(true);

const authApiUrl = config.getAuthApiUrl();
console.log(`Auth API URL: ${authApiUrl}`);

// Vite support (loads environment variables with VITE_ prefix)
const viteConfig = new DpsConfig("VITE_");
```

## Configuration Properties

The following properties are provided. Properties load from environment variables when present.
Expand Down Expand Up @@ -164,10 +195,13 @@ mod tests {
## Project Structure

```
dps-config-rs/
├── src/ # main library code with DpsConfig
dps-config/
├── src/
│ ├── index.ts # Bun / TypeScript implementation
│ └── lib.rs # Rust implementation
├── docs/ # documentation (LLM instructions, plans, drafts, etc.)
├── Cargo.toml
├── Cargo.toml # Rust package manifest
├── package.json # Bun package manifest
└── README.md
```

Expand Down
4 changes: 2 additions & 2 deletions docs/llm/plans/2025/11/13-implementation-plan.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Implementation Plan for dps-config-rs
# Implementation Plan for dps-config

## Overview

Expand Down Expand Up @@ -53,7 +53,7 @@ edition = "2021"
authors = ["Dimensional Pocket"]
license = "MIT"
description = "Configuration management for the DPS ecosystem"
repository = "https://github.com/dimensionalpocket/dps-config-rs"
repository = "https://github.com/dimensionalpocket/dps-config"
keywords = ["config", "configuration", "dps"]
categories = ["config"]

Expand Down
18 changes: 9 additions & 9 deletions docs/llm/plans/2025/11/13-readme-plan.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# README Plan for dps-config-rs
# README Plan for dps-config

## Overview

This plan outlines the structure and content for the comprehensive README.md file for the `dps-config-rs` repository. The README will serve as the primary documentation for the DpsConfig struct, a configuration management component used across the DPS ecosystem.
This plan outlines the structure and content for the comprehensive README.md file for the `dps-config` repository. The README will serve as the primary documentation for the DpsConfig struct, a configuration management component used across the DPS ecosystem.

For more information about the DPS ecosystem, see the [DPS README](https://github.com/dimensionalpocket/dps-readme).

Expand All @@ -17,13 +17,13 @@ For more information about the DPS ecosystem, see the [DPS README](https://githu
### 1. Header Section

**Content:**
- Project title: `# dps-config-rs`
- Project title: `# dps-config`
- Brief one-line description
- Badges (if applicable): build status, crates.io version, license, etc.

**Example:**
```markdown
# dps-config-rs
# dps-config

Configuration management for the DPS ecosystem

Expand All @@ -35,15 +35,15 @@ Configuration management for the DPS ecosystem
### 2. Overview

**Content:**
- What is `dps-config-rs`
- What is `dps-config`
- Its role in the DPS ecosystem
- Key design principles (no validation, optional values, default values in getters)

**Example content:**
```markdown
## Overview

`dps-config-rs` provides the `DpsConfig` struct, a centralized configuration management
`dps-config` provides the `DpsConfig` struct, a centralized configuration management
solution for Rust-based components in the DPS ecosystem. It handles configuration for
multiple services including:

Expand Down Expand Up @@ -76,13 +76,13 @@ Add this to your `Cargo.toml`:

```toml
[dependencies]
dps-config = { git = "https://github.com/dimensionalpocket/dps-config-rs" }
dps-config = { git = "https://github.com/dimensionalpocket/dps-config" }
```

Or using cargo:

```bash
cargo add --git https://github.com/dimensionalpocket/dps-config-rs dps-config
cargo add --git https://github.com/dimensionalpocket/dps-config dps-config
```
```

Expand Down Expand Up @@ -401,7 +401,7 @@ mise exec -- cargo test
### Project Structure

```
dps-config-rs/
dps-config/
├── src/
│ └── lib.rs # Main library code with DpsConfig struct
├── docs/ # Documentation (LLM instructions, plans, drafts, etc.)
Expand Down
21 changes: 21 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "@dimensionalpocket/dps-config",
"version": "0.6.0",
"description": "Configuration management for the DPS ecosystem",
"main": "src/index.ts",
"type": "module",
"scripts": {
"test": "bun test"
},
"keywords": [
"config",
"dps",
"typescript"
],
"author": "Dimensional Pocket",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/dimensionalpocket/dps-config.git"
}
}
9 changes: 8 additions & 1 deletion release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@
".": {
"release-type": "rust",
"include-v-in-tag": false,
"include-component-in-tag": false
"include-component-in-tag": false,
"extra-files": [
{
"type": "json",
"path": "package.json",
"jsonpath": "$.version"
}
]
}
}
}
Loading
Loading