Skip to content

Scaffold the Rust and Node-API package architecture #9

Description

@kylebernhardy

Outcome

Create the production repository structure for the Rust engine, Node-API addon, generated bindings, TypeScript façade, native entry point, tests, examples, and platform packages, while reserving the Rocks entry point until its storage lease is proven.

Acceptance criteria

  • Tantivy 0.26.1 and all native dependencies are pinned.
  • Rust builds as both cdylib and rlib.
  • The initial public import is @harperfast/fulltext/native; raw generated bindings are not public API.
  • @harperfast/fulltext/rocks is added only after Phase 0 defines and tests the caller-owned rocksdb-js lease; the scaffold does not export a placeholder Rocks API.
  • Native mode has no rocksdb-js dependency; Rocks mode will use an optional peer relationship.
  • Apache-2.0 metadata, formatting, linting, unit-test commands, and contributor guidance are present.
  • A native smoke test runs without Harper.

Comment generated by kAIle (Codex GPT-5)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:ciCI, build, packaging, and release automationarea:nativeRust, Tantivy, and Node-API implementation

Type

Fields

Priority

P3

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions