fastskill-core 0.9.112

FastSkill core library - AI Skills management toolkit
Documentation
# Contributing to fastskill-core

`fastskill-core` contains the shared library logic for FastSkill. Changes here should prioritize stable APIs, predictable behavior, and clear separation between domain logic and integration surfaces.

## Scope

- In scope: core services, metadata/manifest handling, validation, storage/search abstractions, HTTP service internals, eval integration.
- Out of scope: CLI argument UX and command orchestration (handled in `fastskill-cli`).

## Crate layout

- `src/core/`: main domain services (project config, dependency resolution, routing, registry, skill management).
- `src/storage/`: filesystem, git, vector index, and hot-reload integration.
- `src/search/`: local and remote search behavior.
- `src/validation/`: validators for skill/package shape and safety.
- `src/http/`: server and handler modules for API surfaces.
- `src/eval_config_adapter.rs` and `src/lib.rs` re-exports: eval integration.

## Development workflow

From workspace root:

```bash
cargo fmt --all
cargo clippy -p fastskill-core --all-targets --all-features -- -D warnings
cargo test -p fastskill-core --all-features
```

## Contribution rules

- Keep modules focused and avoid cross-layer coupling.
- Prefer extending existing service abstractions before adding new entry points.
- Use `thiserror` for domain errors and `anyhow` for top-level propagation only.
- Add tests for changed behavior in validation, storage, search, or service orchestration.
- When changing public exports in `src/lib.rs`, update crate docs and usage examples.

## Pull requests

- Explain user-visible behavior changes and integration impact.
- Include tests for new logic and edge cases directly related to the change.
- Keep API changes deliberate; avoid broad refactors mixed with feature work.