barechat-cli
v2.0.2
Published
Anonymous chat anywhere with commandline - CLI Package
Maintainers
Readme
BareChat CLI
Anonymous chat anywhere with commandline
|project |version |
|--------|--------|
| terminal (this) | |
| web |
|
Features
- IRC like anonymous chat, fully p2p, no server required
- Minimalist, single command to start
- Can public a topic with hashcode, anyone with that hashcode can join the chat, even when the origin hoster left
- With commandline UI, flexible to extend with other UI
Prerequisite
Need bare runtime installed through npm. Could install globally using:
npm i -g bare
Normal Usage with commandline
Could install with command npm i -g barechat or run directly with npx barechat.
To test this chat app, in one terminal run:
> npx barechat
[info] Created new chat room: a1b2c35fbeb452bc900c5a1c00306e52319a3159317312f54fe5a246d634f51aIn another terminal use the hashcode received from the first terminal's output:
> npx barechat a1b2c35fbeb452bc900c5a1c00306e52319a3159317312f54fe5a246d634f51a
[info] Joined chat room a1b2c35fbeb452bc900c5a1c00306e52319a3159317312f54fe5a246d634f51aBy anouncing the hashcode somewhere you can chat anonymously.
And its fully compatible to chat with barechat-web
Extra arguments
If you want to record the log of this chat, can add --store argument to save chat into a text file.
# Store logs in default file (./barechat.txt)
npx barechat --store
# Store logs in specific file
npx barechat --store /tmp/chatlog.txtDevelopment
This package is part of the BareChat monorepo. See the root README for development setup instructions.
Local Development
# From the packages/cli directory
npm run dev
# Or from the root directory
bun run cli:startGenerate Documentation
npm run docUsing BareChat as a Package
To make varient chat experience, you can also import barechat/lib/chat-core in your project.
import { getBackend } from 'barechat/lib/chat-core'
const {
swarm,
getMemberId,
createRoom,
joinRoom,
sendMessage
} = getBackend()Read chat-core API in API doc
Reference
- Basically followed Making a Pear Terminal Application but built with bare and distill the reusable
chat-core
License
MIT
