-
Notifications
You must be signed in to change notification settings - Fork 0
chore: init core docs including architecture decision records and initial specs #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
78 commits
Select commit
Hold shift + click to select a range
add5d40
docs: establish `codex-toolloop` monorepo, including core packages, C…
BjornMelin f55c9e9
docs: add new README.md and LICENSE
BjornMelin b534d54
feat: establish monorepo structure with new packages, CLI, and AI SDK…
BjornMelin b393dda
docs: update ADRs for Node.js runtime, Vitest standardization, and dy…
BjornMelin 25d6a2a
docs: update PRD, architecture, and getting started documentation for…
BjornMelin eb5fea7
chore: remove Codex SDK and non-interactive mode documentation
BjornMelin 5bc68ac
docs: update specifications for Codex ToolLoop monorepo, MCP platform…
BjornMelin 16f941a
chore: update package manager to pnpm and restructure workspace
BjornMelin 6274bec
chore(tsconfig): format include array for better readability
BjornMelin b8519bb
chore: initialize CI, CodeQL, and Scorecard workflows; add Dependabot…
BjornMelin b10413a
chore: update zod dependency version to allow minor updates
BjornMelin 8e8e980
chore: add reference to AGENTS.md in CLAUDE.md
BjornMelin b193942
chore: initialize package.json files for cli, core, codex, mcp, testk…
BjornMelin 3e179eb
chore: update documentation and configuration examples for clarity an…
BjornMelin 34cc5a0
feat: Introduce modular architecture with new `codex`, `mcp`, `workfl…
BjornMelin e9b52dd
feat(cli): add environment diagnostic checks for Node.js, pnpm, and c…
BjornMelin 34341af
chore(cli): update package.json to include devDependencies for tsx
BjornMelin a841066
feat(docs): add Turborepo configuration guidelines and specifications
BjornMelin e24da21
chore: implement Turborepo configuration and update scripts for monorepo
BjornMelin 9a703d7
feat: introduce MCP configuration loading, parsing, and discovery wit…
BjornMelin 96b210c
feat(docs): update Turborepo monorepo configuration with globalDepend…
BjornMelin 02aee87
fix(deps): update @openai/codex-sdk to version 0.88.0
BjornMelin b332175
fix(deps): update @openai/codex-sdk to version 0.88.0 and @ai-sdk/mcp…
BjornMelin 41f0357
fix(codex): honor sdk options and normalize file changes
BjornMelin ec6b9e1
fix(mcp): add newline at end of package.json
BjornMelin 868043f
feat(codex): introduce backend interface and run options
BjornMelin b4c0096
feat(codex): add event types and exec backend for Codex interactions
BjornMelin 62fd76b
chore(turbo): update globalDependencies and clean up outputs in tasks
BjornMelin 3b2b872
test: add unit tests for MCP client manager, config loading, and tool…
BjornMelin 39ce690
chore(ci): standardize YAML formatting and update test command
BjornMelin 1b88955
chore(dependencies): update @ai-sdk/mcp to version 1.0.11
BjornMelin d2f4fbe
feat(mcp): enhance event handling and improve test coverage with mock…
BjornMelin b66031c
fix: resolve PR review comments
BjornMelin fe02f95
chore(tooling): update lint config and docs
BjornMelin 36ed6f4
chore(deps): bump ai and zod
BjornMelin 5cf855a
chore(docs): improve clarity in CLI and memory context specifications
BjornMelin 197fcd3
chore(docs): enhance memory context and optional UI specifications wi…
BjornMelin 898fd98
chore(docs): update specifications for CLI and repo layout consistency
BjornMelin 59b7b1c
fix: address pr review comments
BjornMelin fbb3374
chore(docs): update PRD and optional Next.js UI specifications for cl…
BjornMelin 27d7739
chore: remove empty code change entries
BjornMelin 784736b
chore(docs): enhance SDK backend option fidelity documentation and ad…
BjornMelin eac53eb
chore(docs): update Codex app-server schema documentation and integra…
BjornMelin 088b3b4
feat(docs): add specifications for Codex collaboration modes, skills,…
BjornMelin 9cfdb33
feat(app-server): implement event mapper and UI stream for Codex
BjornMelin bda8325
feat(app-server): add initial implementation of app-server protocol a…
BjornMelin 4f931cd
feat(docs): enhance backend specifications with web search and networ…
BjornMelin ebcff4c
feat(app-server): implement Codex app-server protocol and JSON-RPC va…
BjornMelin d1b3daa
feat(types): update URL validation in transport schemas to use z.url()
BjornMelin cefcd4e
chore(.gitignore): add docs/research/ to ignore list
BjornMelin 723086d
docs: fix specs documentation issues
BjornMelin 84befbe
chore(docs): update status of multiple specifications to completed
BjornMelin 3fef601
feat(tests): add tests for approval and user input server request events
BjornMelin 2e2b904
fix(codex): prevent lastAgentText bleed across interleaved messages
BjornMelin 8764455
docs: add transport-layer security, streaming guidance, and fix punct…
BjornMelin e424abd
docs(AGENTS): add pnpm-workspace.yaml#allowBuilds policy and approval…
BjornMelin 52dda15
chore: update .nvmrc version, enhance README, and improve error handl…
BjornMelin 1540a8b
feat(protocol): add v2 types for thread and turn management
BjornMelin e3b6791
chore: add .agents/ to .gitignore
BjornMelin 5dec603
chore: update repo configuration
BjornMelin 3ed3f9e
docs(AGENTS): revise project layout and commands sections for clarity
BjornMelin a472d36
fix(mcp): prevent empty allowlist intersection widening
BjornMelin f4bb874
fix(mcp): reject empty allowTools in config
BjornMelin 1ff9965
test(mcp): cover allowlist semantics and guardrails
BjornMelin 76a8cce
docs(specs): clarify allowTools semantics
BjornMelin 59ecbfd
docs(adr): record allowlist intersection hardening
BjornMelin cf534e1
docs(specs): fix turborepo spec links
BjornMelin 916c573
fix: address pr review comments
BjornMelin 65233e4
docs: update specs and ADRs
BjornMelin 7c448e6
docs: rename app-server backend
BjornMelin 4448f93
fix(ci): split workflow to required checks
BjornMelin c9c11da
fix(ci): align CodeQL check name
BjornMelin 805d692
docs: resolve PR review comments (3 threads)
BjornMelin 7fda0b0
ci: pin pnpm version to 10.28.1 in all jobs
BjornMelin 835733b
chore(ci): deduplicate CI setup steps via composite action
BjornMelin 2dfa23f
fix(ci): add required checkout step before composite action
BjornMelin e73ea81
feat(ci): add job dependencies for fail-fast build job
BjornMelin 54dc715
feat(ci): add explicit permissions and concurrency control
BjornMelin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,4 +7,3 @@ insert_final_newline = true | |
| indent_style = space | ||
| indent_size = 2 | ||
| trim_trailing_whitespace = true | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: CI Setup | ||
| description: "Shared CI setup: pnpm, node, install (requires prior checkout)" | ||
|
|
||
| inputs: | ||
| node-version-file: | ||
| description: "Path to node version file (default: package.json)" | ||
| required: false | ||
| default: "package.json" | ||
| pnpm-version: | ||
| description: "pnpm version to install (default: 10.28.1)" | ||
| required: false | ||
| default: "10.28.1" | ||
|
|
||
| runs: | ||
| using: composite | ||
| steps: | ||
| - uses: pnpm/action-setup@v3 | ||
| with: | ||
| version: ${{ inputs.pnpm-version }} | ||
| - uses: actions/setup-node@v4 | ||
| with: | ||
| node-version-file: ${{ inputs.node-version-file }} | ||
| cache: pnpm | ||
| - run: pnpm install --frozen-lockfile | ||
| shell: bash |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| name: "CodeQL Config" | ||
|
|
||
| disable-default-queries: false | ||
|
|
||
| queries: | ||
| - uses: security-extended |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "npm" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| day: "friday" | ||
| time: "04:00" | ||
| groups: | ||
| dev-dependencies: | ||
| patterns: | ||
| - "*" | ||
| dependency-type: "development" | ||
| update-types: | ||
| - "minor" | ||
| - "patch" | ||
| production-dependencies: | ||
| patterns: | ||
| - "*" | ||
| dependency-type: "production" | ||
| update-types: | ||
| - "minor" | ||
| - "patch" | ||
| commit-message: | ||
| prefix: "chore(deps)" | ||
| prefix-development: "chore(deps-dev)" | ||
| ignore: | ||
| - dependency-name: "@types/node" | ||
| update-types: ["version-update:semver-major"] | ||
| open-pull-requests-limit: 10 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| name: CI | ||
|
|
||
| "on": | ||
| push: | ||
| branches: ["main"] | ||
| pull_request: | ||
| branches: ["main"] | ||
|
|
||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: ci-${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| lint: | ||
| name: Lint (Biome) | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - uses: ./.github/actions/ci-setup | ||
| - name: Run Turbo lint | ||
| env: | ||
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | ||
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | ||
| run: | | ||
| if [ "${{ github.event_name }}" = "pull_request" ]; then | ||
| pnpm -s turbo run lint --filter=...[origin/${{ github.base_ref }}] | ||
| else | ||
| pnpm -s turbo run lint | ||
| fi | ||
| typecheck: | ||
| name: Typecheck | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - uses: ./.github/actions/ci-setup | ||
| - name: Run Turbo typecheck | ||
| env: | ||
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | ||
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | ||
| run: | | ||
| if [ "${{ github.event_name }}" = "pull_request" ]; then | ||
| pnpm -s turbo run typecheck --filter=...[origin/${{ github.base_ref }}] | ||
| else | ||
| pnpm -s turbo run typecheck | ||
| fi | ||
| test: | ||
| name: Test | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - uses: ./.github/actions/ci-setup | ||
| - name: Run Turbo test | ||
| env: | ||
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | ||
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | ||
| run: | | ||
| if [ "${{ github.event_name }}" = "pull_request" ]; then | ||
| pnpm -s turbo run test --filter=...[origin/${{ github.base_ref }}] | ||
| else | ||
| pnpm -s turbo run test | ||
| fi | ||
| build: | ||
| name: Build | ||
| needs: ["lint", "typecheck"] | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - uses: ./.github/actions/ci-setup | ||
| - name: Run Turbo build + codex:gen:check | ||
| env: | ||
| TURBO_TEAM: ${{ vars.TURBO_TEAM }} | ||
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | ||
| run: | | ||
| if [ "${{ github.event_name }}" = "pull_request" ]; then | ||
| pnpm -s turbo run build codex:gen:check \ | ||
| --filter=...[origin/${{ github.base_ref }}] | ||
| else | ||
| pnpm -s turbo run build codex:gen:check | ||
| fi | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| name: "CodeQL" | ||
|
|
||
| on: | ||
| push: | ||
| branches: ["main"] | ||
| pull_request: | ||
| branches: ["main"] | ||
| schedule: | ||
| - cron: '30 1 * * 0' | ||
|
|
||
| jobs: | ||
| analyze: | ||
| name: CodeQL analysis | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| actions: read | ||
| contents: read | ||
| security-events: write | ||
|
|
||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| language: ['javascript-typescript'] | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Initialize CodeQL | ||
| uses: github/codeql-action/init@v3 | ||
| with: | ||
| languages: ${{ matrix.language }} | ||
| queries: security-extended | ||
| config-file: ./.github/codeql/codeql-config.yml | ||
|
|
||
| - name: Autobuild | ||
| uses: github/codeql-action/autobuild@v3 | ||
|
|
||
| - name: Perform CodeQL Analysis | ||
| uses: github/codeql-action/analyze@v3 | ||
| with: | ||
| category: "/language:${{matrix.language}}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| name: Scorecard supply-chain security | ||
| "on": | ||
| # For Branch-Protection check. Only the default branch is supported. See | ||
| # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection | ||
| branch_protection_rule: | ||
| # To guarantee Maintained check is occasionally updated. See | ||
| # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained | ||
| schedule: | ||
| - cron: '20 7 * * 2' | ||
| push: | ||
| branches: ["main"] | ||
|
|
||
| # Declare default permissions as read only. | ||
| permissions: read-all | ||
|
|
||
| jobs: | ||
| analysis: | ||
| name: Scorecard analysis | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| # Needed to upload the results to code-scanning dashboard. | ||
| security-events: write | ||
| # Needed to publish results and get a badge (see publish_results below). | ||
| id-token: write | ||
| # Needed for checkout. | ||
| contents: read | ||
| actions: read | ||
|
|
||
| steps: | ||
| - name: "Checkout code" | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: "Run analysis" | ||
| uses: ossf/scorecard-action@v2.4.0 | ||
| with: | ||
| results_file: results.sarif | ||
| results_format: sarif | ||
| # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: | ||
| # - you want to enable the Branch-Protection check on a *public* repository. | ||
| # - you are installing Scorecards on a *private* repository. | ||
| # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. | ||
| # repo_token: ${{ secrets.SCORECARD_TOKEN }} | ||
|
|
||
| # Public repositories: | ||
| # - Publish results to OpenSSF REST API for easy access by consumers | ||
| # - Allows the repository to include the Scorecard badge. | ||
| # - See https://github.com/ossf/scorecard-action#publishing-results. | ||
| # For private repositories: | ||
| # - `publish_results` will always be set to `false`, regardless | ||
| # of the value entered here. | ||
| publish_results: true | ||
|
|
||
| # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF | ||
| # format to the repository Actions tab. | ||
| - name: "Upload artifact" | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: SARIF file | ||
| path: results.sarif | ||
| retention-days: 5 | ||
|
|
||
| # Upload the results to GitHub's code scanning dashboard. | ||
| - name: "Upload to code-scanning" | ||
| uses: github/codeql-action/upload-sarif@v3 | ||
| with: | ||
| sarif_file: results.sarif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 24.11 |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.