npm package: @scenius/sceni-code-core
Description: Sceni Code Core
Latest version: 0.0.2

# Sceni Code

<div align="center">

![Sceni Code Screenshot](./docs/assets/sceni-screenshot.png)

[![npm version](https://img.shields.io/npm/v/@scenius/sceni-code.svg)](https://www.npmjs.com/package/@scenius/sceni-code)
[![License](https://img.shields.io/github/license/scenius-software/sceni-code.svg)](./LICENSE)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)

**AI-powered command-line workflow tool for developers. Without telemetry.**

[Installation](#installation) • [Quick Start](#quick-start) • [Features](#key-features) • [Documentation](./docs/) • [Contributing](./CONTRIBUTING.md)

</div>

Sceni Code is a fork of Qwen code, which in turn is a fork of Gemini used within our company

## Key Differences

- **No telemetry** - We manually review all upstream code for telemetry and strip it out 
- **Less flexibility** - We stripped all authentication and model integrations which we do not use. Only Open AI compatible remains
- **No token limit** - Upstream warns at 32K tokens. This fork doesn't

## Installation

### Prerequisites

Ensure you have [Node.js version 20](https://nodejs.org/en/download) or higher installed.

```bash
curl -qL https://www.npmjs.com/install.sh | sh
```

### Install from npm

```bash
npm install -g @scenius/sceni-code@latest
sceni --version
```

### Install from source

```bash
git clone https://github.com/scenius-software/sceni-code.git
cd sceni-code
npm install
npm install -g .
```

### Run with Docker

Mount both the current directory and user settings:

**Unix/Linux/macOS:**
```bash
docker run -it \
  -v "$(pwd):/workspace" \
  -v "$HOME/.sceni:/home/node/.sceni" \
  nickheskes/sceni-code
```

**PowerShell (Windows):**
```powershell
docker run -it `
  -v "${PWD}:/workspace" `
  -v "$env:USERPROFILE\.sceni:/home/node/.sceni" `
  nickheskes/sceni-code
```

## Quick Start

```bash
# Start Sceni Code
sceni

# Example commands
> Explain this codebase structure
> Help me refactor this function
> Generate unit tests for this module
```

### Session Management

#### Session Commands

- **`/compress`** - Compress conversation history
- **`/clear`** - Clear all conversation history and start fresh
- **`/status`** - Check current token usage

## Commands & Shortcuts

### Session Commands

- `/help` - Display available commands
- `/clear` - Clear conversation history
- `/compress` - Compress history to save tokens
- `/status` - Show current session information
- `/exit` or `/quit` - Exit Sceni Code

### Keyboard Shortcuts

- `Ctrl+C` - Cancel current operation
- `Ctrl+D` - Exit (on empty line)
- `Up/Down` - Navigate command history

## Troubleshooting

If you encounter issues, check the [troubleshooting guide](docs/troubleshooting.md).

## Acknowledgments
This project is based on [Qwen](https://github.com/QwenLM/qwen-code). Our hero's for LLM development and tooling. 
Which is based on,
This project is based on [Google Gemini CLI](https://github.com/google-gemini/gemini-cli). We acknowledge and appreciate the excellent work of the Gemini CLI team. Our main contribution focuses on parser-level adaptations to better support Qwen-Coder models.

## License

[LICENSE](./LICENSE)