Commit Graph

12 Commits

  • fix: patch in #366 and #367 for marked-terminal (#916)
    This PR uses [`pnpm
    patch`](https://www.petermekhaeil.com/til/pnpm-patch/) to pull in the
    following proposed fixes for `marked-terminal`:
    
    * https://github.com/mikaelbr/marked-terminal/pull/366
    * https://github.com/mikaelbr/marked-terminal/pull/367
    
    This adds a substantial test to `codex-cli/tests/markdown.test.tsx` to
    verify the new behavior.
    
    Note that one of the tests shows two citations being split across a line
    even though the rendered version would fit comfortably on one line.
    Changing this likely requires a subtle fix to `marked-terminal` to
    account for "rendered length" when determining line breaks.
  • chore: upgrade prettier to v3 (#644)
    ## Description
    
    This PR addresses the following improvements:
    
    **Unify Prettier Version**: Currently, the Prettier version used in
    `/package.json` and `/codex-cli/package.json` are different. In this PR,
    we're updating both to use Prettier v3.
    
    - Prettier v3 introduces improved support for JavaScript and TypeScript.
    (e.g. the formatting scenario shown in the image below. This is more
    aligned with the TypeScript indentation standard).
    
    <img width="1126" alt="image"
    src="https://github.com/user-attachments/assets/6e237eb8-4553-4574-b336-ed9561c55370"
    />
    
    **Add Prettier Auto-Formatting in lint-staged**: We've added a step to
    automatically run prettier --write on JavaScript and TypeScript files as
    part of the lint-staged process, before the ESLint checks.
    
    - This will help ensure that all committed code is properly formatted
    according to the project's Prettier configuration.
  • fix: lint-staged error (#617)
    ## Description
    
    In a recent commit, the command `"cd codex-cli && pnpm run typecheck"`
    was updated to `"pnpm --filter @openai/codex run typecheck"`.
    
    However, this change introduces an issue: 
    when running `pnpm --filter @openai/codex run typecheck`, it executes
    `tsc --noEmit somefile.ts` directly, bypassing the `tsconfig.json`
    configuration. As a result, numerous type errors are triggered,
    preventing successful commits.
    
    Close: #619
  • chore: update lint-staged config to use pnpm --filter (#582)
    Replaced directory-specific commands with workspace-aware pnpm commands
  • chore: improve storage/ implementation; use log(...) consistently (#473)
    This PR tidies up primitives under storage/.
    
    **Noop changes:**
    
    * Promote logger implementation to top-level utility outside of agent/
    * Use logger within storage primitives
    * Cleanup doc strings and comments
    
    **Functional changes:**
    
    * Increase command history size to 10_000
    * Remove unnecessary debounce implementation and ensure a session ID is
    created only once per agent loop
    
    ---------
    
    Signed-off-by: Thibault Sottiaux <tibo@openai.com>
  • feat: /diff command to view git diff (#426)
    Adds `/diff` command to view git diff
  • fix: configure husky and lint-staged for pnpm monorepo (#384)
    # Improve Developer Experience with Husky and lint-staged for pnpm
    Monorepo
    
    ## Summary
    This PR enhances the developer experience by configuring Husky and
    lint-staged to work properly with our pnpm monorepo structure. It
    centralizes Git hooks at the root level and ensures consistent code
    quality across the project.
    
    ## Changes
    - Centralized Husky and lint-staged configuration at the monorepo root
    - Added pre-commit hook that runs lint-staged to enforce code quality
    - Configured lint-staged to:
      - Format JSON, MD, and YAML files with Prettier
      - Lint and typecheck TypeScript files before commits
    - Fixed release script in codex-cli package.json (changed "pmpm" to "npm
    publish")
    - Removed duplicate Husky and lint-staged configurations from codex-cli
    package.json
    
    ## Benefits
    - **Consistent Code Quality**: Ensures all committed code meets project
    standards
    - **Automated Formatting**: Automatically formats code during commits
    - **Early Error Detection**: Catches type errors and lint issues before
    they're committed
    - **Centralized Configuration**: Easier to maintain and update in one
    place
    - **Improved Collaboration**: Ensures consistent code style across the
    team
    
    ## Future Improvements
    We could further enhance this setup by
    **Commit Message Validation**: Add commitlint to enforce conventional
    commit messages
    
    ---------
    
    Co-authored-by: Thibault Sottiaux <tibo@openai.com>
  • chore: migrate to pnpm for improved monorepo management (#287)
    # Migrate to pnpm for improved monorepo management
    
    ## Summary
    This PR migrates the Codex repository from npm to pnpm, providing faster
    dependency installation, better disk space usage, and improved monorepo
    management.
    
    ## Changes
    - Added `pnpm-workspace.yaml` to define workspace packages
    - Added `.npmrc` with optimal pnpm configuration
    - Updated root package.json with workspace scripts
    - Moved resolutions and overrides to the root package.json
    - Updated scripts to use pnpm instead of npm
    - Added documentation for the migration
    - Updated GitHub Actions workflow for pnpm
    
    ## Benefits
    - **Faster installations**: pnpm is significantly faster than npm
    - **Disk space savings**: pnpm's content-addressable store avoids
    duplication
    - **Strict dependency management**: prevents phantom dependencies
    - **Simplified monorepo management**: better workspace coordination
    - **Preparation for Turborepo**: as discussed, this is the first step
    before adding Turborepo
    
    ## Testing
    - Verified that `pnpm install` works correctly
    - Verified that `pnpm run build` completes successfully
    - Ensured all existing functionality is preserved
    
    ## Documentation
    Added a detailed migration guide in `PNPM_MIGRATION.md` explaining:
    - Why we're migrating to pnpm
    - How to use pnpm with this repository
    - Common commands and workspace-specific commands
    - Monorepo structure and configuration
    
    ## Next Steps
    As discussed, once this change is stable, we can consider adding
    Turborepo as a follow-up enhancement.
  • bump(version): 0.1.2504172351 (#310)
    Release `@openai/codex@0.1.2504172351`
  • add: changelog (#308)
    - Release `@openai/codex@0.1.2504172304`
    - Add changelog
  • update: release (#109)
    Signed-off-by: Fouad Matin <fouad@openai.com>
  • Initial commit
    Signed-off-by: Ilan Bigio <ilan@openai.com>