Thank you for your interest in improving Codexkit! This guide covers the process for contributing.
- Fork the repository
- Clone your fork locally
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Test your changes
- Commit with a descriptive message
- Push to your fork
- Open a Pull Request
git clone https://github.com/QuangThai/codexkit.git
cd codexkitNo build step required — Codexkit is a configuration framework, not compiled software.
- Kebab-case for files and directories:
my-skill,my-prompt.md - Skill directories:
.codex/skills/<skill-name>/SKILL.md - Prompt files:
.codex/prompts/<name>.md - Agent definitions:
.codex/agents/<role>.toml - Hook scripts:
.codex/hooks/<event>.sh
Use conventional commit format:
type(scope): description
- detail 1
- detail 2
Types: feat, fix, docs, test, refactor, chore
- Shell scripts:
set -euo pipefail, POSIX-compatible where possible - Markdown: ATX headers (
#), one sentence per line for diffs - TOML: Standard formatting, comments for non-obvious values
- YAML frontmatter: Required for skills (name, description)
Run the full test suite before submitting:
# Smoke tests
bash tests/smoke/test_structure.sh
bash tests/smoke/test_scripts.sh
# Integration tests
bash tests/integration/test_profiles.sh
bash tests/integration/test_skills.sh
bash tests/integration/test_prompts.sh
bash tests/integration/test_hooks.sh
bash tests/integration/test_install.sh
# Validation
bash install/validate.shAll tests must pass with zero failures.
- Create directory:
.codex/skills/your-skill/ - Create
SKILL.mdwith YAML frontmatter:--- name: your-skill description: When and how to use this skill version: 1.0.0 tags: [relevant, tags] dependencies: [] ---
- Write skill content with sections: Purpose, When to Use, Workflow, Anti-Patterns
- Register in AGENTS.md skills table
- Run
bash tests/integration/test_skills.shto verify
- Create file:
.codex/prompts/your-prompt.md - Follow phase-based structure (Phase 1, Phase 2, etc.)
- Include
## Skills Usedand## Related Commandssections - Reference skills with
$skill-namesyntax - Run
bash tests/integration/test_prompts.shto verify
- One PR per concern — don't mix features with fixes
- Run all tests before submitting
- Follow AGENTS.md conventions for all changes
- Update documentation if adding new features
- Update CHANGELOG.md with your changes under
[Unreleased]
- Use GitHub Issues
- Include: expected behavior, actual behavior, steps to reproduce
- Attach test output if relevant
By contributing, you agree that your contributions will be licensed under the MIT License.