diff --git a/AGENT.md b/AGENT.md deleted file mode 100644 index 2c802cb..0000000 --- a/AGENT.md +++ /dev/null @@ -1,35 +0,0 @@ -# Instructions for OpenAI Codex - -This file provides guidelines for OpenAI Codex to ensure code quality and consistency within this project. - -## General Instructions - -1. **Follow Existing Code Style**: Adhere to the style already present in the repository. -2. **Use TypeScript**: All new code must be written in TypeScript. -3. **Meaningful Names**: Use descriptive names for variables and functions. -4. **Comments**: Comment complex logic to explain its purpose. - -## Testing - -1. **Testing Framework**: Use Mocha and Chai for tests. -2. **Run Tests**: Compile the project then run `npm test` to execute all tests. -3. **Test Files**: Maintain and extend existing test files when adding new functionality. - -## Commands - -1. **Build**: `npm run build` -2. **Run All Tests**: `npm test` -3. **Watch Tests**: `npm run test_watch` -4. **Coverage**: `npm run cover` -5. **Lint**: `npx tslint -c tslint.json -p tsconfig.json` - -## Pull Request Guidelines - -1. **Description**: Provide a clear description of the changes. -2. **Related Issues**: Reference any related issues. -3. **Tests**: Ensure all tests pass before submission. -4. **Single Concern**: Keep pull requests focused on a single concern. - -## Important - -After making any changes, Codex MUST run `npm run build` and `npm test` to confirm that the build and tests pass. diff --git a/DEVELOPMENT_PLAN.md b/DEVELOPMENT_PLAN.md new file mode 100644 index 0000000..392704b --- /dev/null +++ b/DEVELOPMENT_PLAN.md @@ -0,0 +1,39 @@ +# Development Plan + +This document outlines possible improvements and future developments for the `TSDataStructure` project. + +## Code Quality and Tooling + +- **Adopt ESLint**: Replace the deprecated TSLint configuration with ESLint to keep the linting ecosystem up to date. +- **Upgrade Dependencies**: Review and update dependencies regularly to keep up with security fixes and improvements. +- **TypeScript Strict Mode**: Consider enabling `strictNullChecks` and other strict compiler options for safer type checking. + +## Testing and CI + +- **Increase Test Coverage**: Add more unit tests covering edge cases and error conditions for all data structures. +- **Continuous Integration**: Configure a modern CI workflow (e.g., GitHub Actions) to automatically run build and tests on each commit. +- **Coverage Reporting**: Switch from `istanbul` to `nyc` or a modern coverage tool and publish coverage reports. + +## New Data Structures + +- **Graph**: Implement a basic graph structure with common algorithms such as BFS, DFS, and shortest path algorithms. +- **PriorityQueue**: Provide a priority queue implementation for efficient task scheduling. +- **Balanced Trees**: Add self-balancing tree variants (e.g., AVL or Red-Black trees) for more efficient search and insert operations. + +## Documentation + +- **API Examples**: Expand the README with practical examples demonstrating each data structure in real-world scenarios. +- **Contribution Guide**: Provide a `CONTRIBUTING.md` describing how to set up the project, run tests, and submit pull requests. +- **Changelog**: Maintain a `CHANGELOG.md` to track notable changes between releases. + +## Packaging and Distribution + +- **Publish to npm**: Ensure the package is published to npm with clear versioning and release notes. +- **Type Declarations**: Generate `.d.ts` files to support TypeScript consumers directly. + +## Future Enhancements + +- **Performance Benchmarks**: Add benchmarks to evaluate and optimize the performance of the data structures. +- **Browser Support**: Provide build targets that work in browser environments, possibly using bundlers like Rollup or Webpack. +- **Typed Iterators**: Implement iterator interfaces for data structures to integrate seamlessly with ES6 iteration protocols. +