Skip to content

Commit 8b03817

Browse files
committed
feat: add direnv/devbox configurations and fix tests
1 parent 23b9b95 commit 8b03817

File tree

10 files changed

+1924
-120
lines changed

10 files changed

+1924
-120
lines changed

.envrc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Automatically sets up your devbox environment whenever you cd into this
2+
# directory via our direnv integration:
3+
4+
eval "$(devbox generate direnv --print-envrc)"
5+
6+
# check out https://www.jetpack.io/devbox/docs/ide_configuration/direnv/
7+
# for more details
8+
9+
source_env_if_exists .envrc.local
10+
11+
export SMTP_HOST=localhost
12+
export SMTP_PORT=1025
13+
export MEMCACHED_HOST=localhost
14+
export REDIS_HOST=localhost

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pip-log.txt
5252
# Documentation
5353
doc/build
5454
# Unit test / coverage reports
55-
.coverage
55+
.coverage*
5656
htmlcov
5757
coverage-report
5858
.tox

CLAUDE.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
1515
- `pdm run pytest --cov=cement.core tests/core` - Test only core components
1616

1717
**Development Environment:**
18-
- `make dev` - Start Docker development environment (recommended)
1918
- `pdm venv create && pdm install` - Set up local development environment
2019
- `pdm run cement --help` - Run the cement CLI
2120

@@ -61,7 +60,6 @@ Cement is a CLI application framework built around a handler/interface pattern w
6160
- 100% test coverage required (pytest with coverage reporting)
6261
- 100% PEP8 compliance enforced via ruff
6362
- Type annotation compliance via mypy
64-
- Docker-first development approach
6563
- PDM for dependency management
6664
- Zero external dependencies for core framework (optional for extensions)
6765

@@ -70,12 +68,11 @@ Cement is a CLI application framework built around a handler/interface pattern w
7068
- Tests located in `tests/` directory mirroring source structure
7169
- Core tests can run independently via `make test-core`
7270
- Coverage reports generated in `coverage-report/` directory
73-
- Tests must pass on Python 3.8+ (see docker containers for multiple versions)
7471

7572
## Extension Development
7673

7774
When working with extensions:
7875
- Check `cement/ext/` for existing extension patterns
7976
- Optional dependencies declared in pyproject.toml under `[project.optional-dependencies]`
8077
- Extensions follow naming pattern `ext_<name>.py`
81-
- Must implement proper interface contracts
78+
- Must implement proper interface contracts

0 commit comments

Comments
 (0)