Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Publish to NPM

on:
release:
types: [created]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org/'
- run: npm ci
- run: npm run build
- run: npm test

publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org/'
- run: npm ci
- run: npm run build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ out/
.env.test.local
.env.production
.env.production.local
.npmrc

# IDE and Editor directories
.vscode/
Expand Down
107 changes: 107 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Changelog

All notable changes to the DeepSeek CLI project will be documented in this file.

## [0.3.5] - 2025-07-07

### Added
- Multi-turn conversation support in interactive mode
- Conversation history tracking for context-aware responses
- Enhanced interactive mode with slash commands (/help, /clear, /stats, /model, /exit)
- Improved welcome message with command information
- Better user guidance throughout the application

### Changed
- Updated interactive mode UI for better user experience
- Improved help text with clearer instructions
- Enhanced API to support conversation history

## [0.3.4] - 2025-07-07

### Added
- Human-friendly command aliases for improved accessibility
- New `ask` alias for the `chat` command
- New `solve` alias for the `reason` command
- New `review` alias for the `analyze` command
- New `count` alias for the `tokens` command
- New `list` alias for the `models` command
- New task-specific commands: `explain`, `fix`, `improve`, and `cost`
- Updated help documentation to include all aliases and new commands

### Changed
- Enhanced help text with better organization and examples
- Improved command descriptions for clarity

## [0.3.3] - 2025-07-07

### Added
- Contextual token usage information after each API call
- Session token tracking in interactive mode
- Cost estimation for each API call
- Session summary with total tokens and costs
- New "stats" command in interactive mode to display session statistics

### Changed
- Enhanced UI with token usage information
- Improved interactive mode with more feedback

## [0.3.2] - 2025-07-07

### Added
- New `tokens` command for counting tokens and estimating API costs
- Support for token counting in both text and files
- Cost estimation for different models and time periods
- JSON output option for programmatic use
- DeepSeek V3 tokenizer integration

## [0.3.1] - 2025-07-07

### Added
- Detailed model comparison and pricing information
- Comprehensive documentation on model capabilities and limitations
- Pricing details for both standard and discount time periods
- Explanatory notes on context length, max output, and token counting

## [0.3.0] - 2025-07-07

### Added
- Streaming responses for real-time output
- New `reason` command for complex problem solving with the deepseek-reasoner model
- Chain of Thought (CoT) reasoning display with the `--show-reasoning` flag
- Support for streaming API responses
- Enhanced error handling for streaming responses

### Changed
- Updated CLI interface with new options for streaming and reasoning
- Improved response formatting for better readability
- Updated documentation to reflect new features

## [0.2.0] - 2025-07-07

### Added
- Support for multiple configuration sources (environment variables, .env file, .deepseekrc file)
- New `analyze` command for code review and analysis
- New `models` command to list available DeepSeek models
- Support for both available DeepSeek models: deepseek-chat and deepseek-reasoner
- Model validation to ensure only valid models are used
- Additional command-line options (temperature, max-tokens)
- Better error handling for API calls
- Enhanced response formatting for better readability

### Fixed
- Environment variable loading issue
- Improved error handling for configuration loading
- Fixed maxTokens parsing issue

### Changed
- Updated default model to deepseek-chat
- Improved help text and documentation
- Enhanced code organization and type safety

## [0.1.0] - 2025-07-01

### Added
- Initial release with basic functionality
- Support for chat command
- Interactive mode
- Basic configuration options
89 changes: 89 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Contributing to DeepSeek CLI

Thank you for your interest in contributing to DeepSeek CLI! This document provides guidelines and instructions for contributing to this project.

## Getting Started

1. **Fork the repository** on GitHub
2. **Clone your fork** locally:
```bash
git clone https://github.com/YOUR-USERNAME/deepseek-cli.git
cd deepseek-cli
```
3. **Install dependencies**:
```bash
npm install
```
4. **Create a branch** for your feature or bugfix:
```bash
git checkout -b feature/your-feature-name
```

## Development Workflow

1. **Make your changes** to the codebase
2. **Build the project** to verify your changes:
```bash
npm run build
```
3. **Test your changes** manually:
```bash
node dist/index.js --help
node dist/index.js chat "Hello"
```
4. **Commit your changes** with a descriptive commit message:
```bash
git commit -m "Add feature: your feature description"
```
5. **Push your changes** to your fork:
```bash
git push origin feature/your-feature-name
```
6. **Create a pull request** from your fork to the main repository

## Code Style Guidelines

- Use TypeScript for all new code
- Follow the existing code style and patterns
- Use meaningful variable and function names
- Add comments for complex logic
- Include proper error handling

## Adding New Commands

To add a new command to the CLI:

1. Create a new file in the `src/commands` directory
2. Implement your command logic
3. Update the `src/cli.ts` file to include your new command
4. Update the README.md to document your new command

## Testing

Currently, the project doesn't have automated tests. When adding new features, please test them manually and document the testing process in your pull request.

## Documentation

When adding new features or making changes, please update the relevant documentation:

- Update the README.md for user-facing changes
- Update the CHANGELOG.md with your additions, changes, or fixes
- Add inline documentation for complex code

## Submitting a Pull Request

When submitting a pull request, please:

1. Provide a clear description of the changes
2. Link to any related issues
3. Explain how you tested the changes
4. Update documentation as needed

## Getting Help

If you have questions or need help, please:

- Open an issue on GitHub
- Reach out in the GitHub Discussions

Thank you for contributing to DeepSeek CLI!
Loading