| name | codexguide-reference |
| description | CodexGuide - Comprehensive practical guide for OpenAI Codex across CLI, desktop app, cloud, and IDE integrations for beginners to teams |
| triggers | ["how do I get started with OpenAI Codex","show me CodexGuide documentation","help me set up Codex CLI","what's the difference between Codex app and CLI","how to configure AGENTS.md for my project","guide me through Codex sandbox and approvals","Codex best practices for teams","troubleshoot Codex installation issues"] |
CodexGuide Reference
Skill by ara.so — Codex Skills collection.
CodexGuide is a comprehensive practical guide for OpenAI Codex that helps beginners, creators, developers, and teams learn how to effectively use Codex across different interfaces (CLI, desktop app, cloud, IDE extensions) and integrate it into real-world workflows.
What CodexGuide Covers
CodexGuide addresses three core questions:
- How to start: Which entry point, task, and settings should beginners use
- How to deliver: How to communicate requirements so Codex can read projects, modify files, run commands, and produce verifiable results
- How to accumulate: How to turn successful tasks into reusable templates, rules, cases, and safety boundaries for teams
The guide is organized into:
- Entry paths: Desktop app, CLI, Cloud/Web, IDE extensions, ChatGPT mobile
- Configuration topics: CLI options,
config.toml, MCP, Skills, Subagents, security approvals
- Workflow methods: Task design, verification approaches, non-development workflows, team playbooks
- Practical cases: PPT, Draw.io, browser automation, Obsidian, Feishu, Figma, Notion, CI fixes
- Official references: OpenAI documentation index and authoritative sources
Accessing CodexGuide
Online Documentation
Visit the comprehensive documentation site:
https://codexguide.ai/
https://codexguide.ai/guide/00-overview.html
https://codexguide.ai/platform/
https://codexguide.ai/configuration/
https://codexguide.ai/practice/
https://codexguide.ai/recipes/
Local Development
Clone and run the documentation locally:
git clone https://github.com/freestylefly/CodexGuide.git
cd CodexGuide
pnpm install
pnpm dev
pnpm build
Key Learning Paths
For First-Time Users
-
Start with desktop app (guide/01-app-installation.md)
- Download and install Codex desktop app
- Subscribe to Plus/Pro
- Understand the interface
- Complete first low-risk task
-
Mobile coordination (guide/04-mobile-control-desktop.md)
- Use ChatGPT mobile app to track desktop tasks
- Coordinate between devices
For Developers Integrating Codex
- CLI setup (guide/11-cli-installation.md):
npm install -g @openai/codex-cli
codex login
cd your-project
codex init
codex "add unit tests for the authentication module"
- Project configuration with AGENTS.md (guide/14-agents-md.md):
# AGENTS.md example structure
## Project Overview
Brief description of the project, tech stack, and purpose.
## Development Rules
- Code style guidelines
- Testing requirements
- File organization patterns
## Task Boundaries
- What Codex should do
- What requires human approval
- Security constraints
## Common Tasks
### Adding a feature
1. Create feature branch
2. Write tests first
3. Implement feature
4. Update documentation
### Fixing a bug
1. Reproduce the issue
2. Add regression test
3. Fix and verify
4. Update changelog
- Sandbox and approvals (guide/15-sandbox-approvals.md):
[sandbox]
enabled = true
allowed_commands = ["npm", "git", "pytest"]
allowed_paths = ["src/", "tests/", "docs/"]
[approvals]
require_approval_for_commands = ["rm", "docker", "kubectl"]
require_approval_for_paths = [".env", "secrets/"]
require_approval_for_network = true
For Teams and Tool Builders
- Team playbook structure (practice/team-playbook.md):
## Team Codex Playbook
### Entry Point Selection
- CLI for local development
- Cloud for code review and collaboration
- IDE extensions for inline assistance
### Shared AGENTS.md
- Team coding standards
- Approval workflows
- Security boundaries
- Communication patterns
### Task Templates
#### Feature Development
- Requirements gathering
- Test-driven approach
- Documentation updates
- Code review process
#### Bug Fixes
- Reproduction steps
- Root cause analysis
- Fix verification
- Regression prevention
### Review and Iteration
- Weekly retrospectives
- Template updates
- Security audit
- Knowledge sharing
- Security configuration (configuration/security-admin.md):
[security]
blocked_paths = [
".env",
".env.*",
"secrets/",
"credentials/",
"*.pem",
"*.key"
]
dangerous_commands = [
"rm -rf",
"drop table",
"delete from",
"docker system prune",
"kubectl delete"
]
allow_network_access = false
allowed_domains = ["api.example.com", "docs.example.com"]
never_log_credentials = true
use_env_vars = true
Platform Comparison
CLI vs Desktop App vs Cloud vs IDE
Use CLI when:
- Working in existing projects with Git
- Need deep project context and multi-file edits
- Want to run commands and verify results locally
- Integrating with CI/CD pipelines
Use Desktop App when:
- First-time user learning Codex
- Need visual interface and file tree
- Want to preview changes before applying
- Working on personal projects with lower risk
Use Cloud/Web when:
- Collaborating with team on code review
- Sharing Codex sessions with others
- Need access from any browser
- Working on documentation or analysis
Use IDE Extensions when:
- Want inline code suggestions
- Need context-aware completions
- Prefer staying in your editor (VS Code, Cursor, etc.)
- Working on focused, file-level tasks
Configuration Topics
CLI Options
codex "task description"
codex "refactor this file" --files src/app.js
codex "add logging" --auto-approve
codex "optimize performance" --model gpt-4
codex "migrate database" --dry-run
codex "fix bug" --context tests/,docs/
codex "update configs" --cwd ./backend
MCP (Model Context Protocol) Integration
{
"mcp": {
"enabled": true,
"providers": [
{
"name": "github",
"type": "repository",
"config": {
"owner": "your-org",
"repo": "your-repo"
}
},
{
"name": "slack",
"type": "communication",
"config": {
"workspace_id": "${SLACK_WORKSPACE_ID}"
}
}
]
}
}
Skills and Subagents
name: python-testing-expert
description: Expert in Python testing with pytest
triggers:
- write tests for this Python module
- add pytest fixtures
- mock external dependencies
capabilities:
- pytest
- unittest
- mocking
- fixtures
- parametrization
instructions: |
When writing Python tests:
1. Use pytest as the default framework
2. Organize tests in test_*.py files
3. Use fixtures for setup/teardown
4. Mock external API calls
5. Include docstrings explaining test purpose
6. Aim for >80% coverage
Common Workflow Patterns
Development Task Flow
codex "implement user authentication with JWT tokens"
npm test
npm run lint
git add .
git commit -m "feat: add JWT authentication"
Non-Development Workflows
Content Creation:
codex "create API documentation from source code"
codex "generate PowerPoint outline for quarterly review"
codex "convert meeting notes to Obsidian markdown with tags"
Browser Automation:
codex "scrape product data from this e-commerce site"
codex "automate form submission for these entries"
Data Processing:
codex "merge these three CSV files and remove duplicates"
codex "analyze sales data and generate summary report"
Troubleshooting
Common Issues
Authentication errors:
codex logout
codex login
codex whoami
Permission errors:
cat ~/.config/codex/config.toml
codex "task" --no-sandbox
Context not loaded:
codex "task" --context src/,tests/,README.md
rm -rf .codex
codex init
Changes not applied:
git status
codex logs
codex "task" --verbose
Real-World Examples
Example 1: Adding Tests to Existing Code
codex "add pytest tests for src/auth/jwt.py with at least 90% coverage"
Generated test file:
import pytest
from unittest.mock import patch, MagicMock
from src.auth.jwt import create_token, verify_token, TokenExpiredError
@pytest.fixture
def mock_user():
return {
"id": 123,
"email": "user@example.com",
"role": "admin"
}
def test_create_token_success(mock_user):
token = create_token(mock_user)
assert isinstance(token, str)
assert len(token) > 0
def test_verify_token_valid(mock_user):
token = create_token(mock_user)
payload = verify_token(token)
assert payload["id"] == mock_user["id"]
assert payload["email"] == mock_user["email"]
@pytest.mark.parametrize("invalid_token", [
"",
"invalid.token.string",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.invalid",
])
def test_verify_token_invalid(invalid_token):
with pytest.raises(ValueError):
verify_token(invalid_token)
@patch('src.auth.jwt.datetime')
def test_token_expiration(mock_datetime, mock_user):
mock_datetime.utcnow.return_value = datetime(2026, 1, 1)
token = create_token(mock_user, expires_in=3600)
mock_datetime.utcnow.return_value = datetime(2026, 1, 2)
with pytest.raises(TokenExpiredError):
verify_token(token)
Example 2: Creating AGENTS.md for a React Project
codex "create an AGENTS.md file with rules for our React TypeScript project"
Generated AGENTS.md:
# AGENTS.md
## Project Overview
React TypeScript application with Material-UI components and Redux Toolkit for state management.
## Tech Stack
- React 18.2
- TypeScript 5.0
- Material-UI 5.x
- Redux Toolkit
- React Router 6
- Vite
## Development Rules
### Code Style
- Use functional components with hooks
- Prefer named exports over default exports
- Use TypeScript strict mode
- Follow ESLint and Prettier configurations
- Maximum component file size: 300 lines
### Component Structure
```typescript
// src/components/ExampleComponent.tsx
import React from 'react';
import { Box, Typography } from '@mui/material';
interface ExampleComponentProps {
title: string;
onAction: () => void;
}
export const ExampleComponent: React.FC<ExampleComponentProps> = ({
title,
onAction
}) => {
return (
<Box>
<Typography variant="h5">{title}</Typography>
</Box>
);
};
State Management
- Use Redux Toolkit for global state
- Use local state for component-specific data
- Create slices in
src/store/slices/
- Use typed hooks from
src/store/hooks.ts
Testing Requirements
- Unit tests for utility functions
- Component tests with React Testing Library
- Minimum 70% coverage
- Mock API calls in tests
File Organization
src/
├── components/ # Reusable UI components
├── pages/ # Route-level components
├── store/ # Redux store and slices
├── hooks/ # Custom React hooks
├── utils/ # Utility functions
├── types/ # TypeScript type definitions
└── api/ # API client code
Task Boundaries
Codex Should
- Create new components following established patterns
- Add unit and component tests
- Update type definitions
- Refactor code while maintaining functionality
- Add inline documentation
Requires Human Approval
- Changing Redux store structure
- Modifying authentication logic
- Updating dependencies
- Deleting files or components
- API endpoint changes
Never Do
- Commit API keys or secrets
- Disable TypeScript checks
- Remove error handling
- Deploy to production
### Example 3: CI/CD Fix Workflow
```bash
# Diagnose CI failure
codex "analyze GitHub Actions failure in latest commit and fix the failing test"
# Codex will:
# 1. Read .github/workflows/ci.yml
# 2. Check recent commit diff
# 3. Identify failing test from logs
# 4. Fix the root cause
# 5. Update test if needed
# 6. Verify locally before committing
Best Practices
Task Design
- Be specific: "Add error handling to the login function" is better than "improve code"
- Provide context: Reference specific files, functions, or requirements
- Set boundaries: Specify what should and shouldn't change
- Include verification: Describe how to test the changes
Security
- Never commit secrets: Use environment variables
- Review before approval: Don't auto-approve without understanding changes
- Use sandbox mode: Restrict file and command access
- Audit regularly: Review what Codex has access to
Team Adoption
- Start small: Begin with low-risk tasks
- Create templates: Build a library of successful task patterns
- Share learnings: Document what works and what doesn't
- Iterate rules: Update AGENTS.md based on experience
- Regular retrospectives: Discuss Codex usage in team meetings
Resources
Contributing to CodexGuide
CodexGuide welcomes contributions:
git clone https://github.com/YOUR_USERNAME/CodexGuide.git
cd CodexGuide
git checkout -b feature/your-contribution
pnpm install
pnpm dev
git add .
git commit -m "docs: add section on X"
git push origin feature/your-contribution
Contribution areas:
- Beginner-friendly tutorial improvements
- Real-world case studies
- Common errors and solutions
- Team practices and workflows
- Official documentation updates
See CONTRIBUTING.md for detailed guidelines.