# Working on ReversePort

Read [AGENTS.md](../AGENTS.md): layout, architecture rules, checks and tests for both engines.

- `port/` (ReversePort's own engine): Node ESM, zero runtime dependencies. New tool → schema and handler in
  `port/src/tools.mjs`, then docs, skills and tests. `npm run test:port`.
- `src/` (deep-analysis engine, TypeScript): `npm ci`, `npm run build:cached`, `npm run check:fast`, focused tests.
- Do not put chat or session links in commits, pull requests or files.

## Commits and pull requests

- Commit as `laaielichter <laaielichter@users.noreply.github.com>`.
- Never add `Claude-Session:` lines, session URLs, `Co-Authored-By:` trailers or
  "Generated with" / "Generated by" lines to commit messages, PR titles or PR descriptions.

## Credit and contributors

This is a laaielichter project, and the goal is to grow its reach. Contributors are welcome and get fair credit.

- The project is presented as laaielichter's own work: in the README, docs, releases and posts, laaielichter is the
  author and maintainer. Work done by AI agents is committed as laaielichter.
- A contributor's own commits always stay under their name. Never squash, rewrite or re-author their work away.
  When you fix up a contributor's PR, let them make the change first; if you land it yourself, merge their branch
  head so their PR shows as merged.
- Thank contributors by @name, specifically and warmly, and credit them in the release notes or CHANGELOG
  ("Thanks to @name"). Keep the praise in proportion: they are contributors, not co-owners or "main people" behind
  the project.
- Answer new contributors quickly, review kindly, and suggest a next `good first issue`.
- Never do an issue in parallel that a contributor has claimed or opened a PR for.
