Project Foundations is a local Codex/Claude-compatible plugin that helps agents start new software projects with language-specific engineering defaults.
It provides one skill, start-project-foundations, which overlays project-setup guidance onto the superpowers workflow. It does not replace superpowers; it injects language conventions into brainstorming, planning, TDD, and verification.
Project Foundations currently covers:
- Python
- C
- C++
- Java
- C#
- JavaScript
- Visual Basic
- SQL
- R
- Delphi/Object Pascal
- Kotlin
- Go
- Rust
- TypeScript
- Bash/Shell
- PowerShell
- PHP
- Swift
- Ruby
- Dart
- Lua
- Scala
- Elixir
Each language reference includes project structures, naming/style rules, tooling, starter config snippets, TDD guidance, CI checks, quality gates, and review hot spots.
project-foundations/
|-- .codex-plugin/plugin.json
|-- .claude-plugin/plugin.json
|-- install.sh
|-- README.md
|-- scripts/install.py
`-- skills/
`-- start-project-foundations/
|-- SKILL.md
|-- agents/openai.yaml
`-- references/
|-- index.md
|-- python.md
|-- c.md
|-- cpp.md
|-- java.md
|-- csharp.md
|-- javascript.md
|-- typescript.md
|-- visual-basic.md
|-- sql.md
|-- kotlin.md
|-- go.md
|-- rust.md
|-- bash-shell.md
|-- powershell.md
|-- php.md
|-- swift.md
|-- ruby.md
|-- dart.md
|-- lua.md
|-- scala.md
|-- elixir.md
|-- r.md
`-- delphi-object-pascal.md
From the plugin root, run:
./install.shThe installer:
- copies the plugin to
~/plugins/project-foundations - creates or updates
~/.agents/plugins/marketplace.json - adds the
project-foundationsmarketplace entry - runs
codex plugin add project-foundations@personalwhen the Codex CLI is available
After installing or updating the plugin, start a new Codex thread so the updated skill metadata and references are loaded.
Useful options:
./install.sh --no-codex-add
./install.sh --install-dir ~/plugins/project-foundations
./install.sh --marketplace-path ~/.agents/plugins/marketplace.json
./install.sh --marketplace-name personalUse --no-codex-add when preparing files for another machine or when you want to run codex plugin add manually.
Codex installs plugins from configured marketplaces. If you do not want to use install.sh, create a small local marketplace that points at this plugin.
Example:
mkdir -p ~/codex-local-marketplace/plugins
cp -R /path/to/project-foundations ~/codex-local-marketplace/plugins/project-foundationsCreate ~/codex-local-marketplace/marketplace.json:
{
"name": "local-project-foundations",
"interface": {
"displayName": "Local Project Foundations"
},
"plugins": [
{
"name": "project-foundations",
"source": {
"source": "local",
"path": "./plugins/project-foundations"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}Then register and install:
codex plugin marketplace add ~/codex-local-marketplace
codex plugin add project-foundations@local-project-foundationsIf you do not want to use the plugin wrapper, install only the skill folder.
Codex skill fallback:
mkdir -p ~/.codex/skills
cp -R /path/to/project-foundations/skills/start-project-foundations ~/.codex/skills/Claude Code skill fallback:
mkdir -p ~/.claude/skills
cp -R /path/to/project-foundations/skills/start-project-foundations ~/.claude/skills/Use the plugin install when possible. The standalone skill install is a compatibility path for environments that do not load local plugin manifests.
Invoke it explicitly when starting a project:
Use project-foundations:start-project-foundations for a new Python CLI.
or:
Use $start-project-foundations while planning this Java service.
Typical prompts:
Start a new C++ library and apply project foundation structure, tests, tooling, and verification.
Plan a dbt/SQL project using the project foundations skill and superpowers workflow.
Create a new C# worker service and include the language-specific TDD and CI checks.
Start a new Go service with module layout, table tests, formatting, vet, and vulnerability checks.
Create a Rust library crate with Cargo structure, rustfmt, Clippy, docs, and integration tests.
Plan a TypeScript package with strict tsconfig, type checks, linting, tests, and build verification.
Create a PowerShell module with approved verbs, PSScriptAnalyzer, Pester tests, and module manifest checks.
When active, the skill loads references/index.md, selects the relevant language file, and applies that guidance to:
- folder structure
- naming and coding style
- package/build/dependency tooling
- formatter/linter/static analysis setup
- first failing test placement
- verification commands
This plugin is designed to work with superpowers:
- During brainstorming, it adds language-specific decisions and defaults.
- During planning, it adds exact files, tool config, first tests, and verification commands.
- During TDD, it uses the language's idiomatic test runner and test location.
- During verification, it requires formatter, linter/static analysis, tests, and build/package checks where available.
No hooks are installed by default. Skill invocation and metadata-based discovery are used instead, because language selection is contextual.
Add or update language reference files when project coverage changes or ecosystem defaults shift.
After edits, validate the package:
python3 /path/to/skill-creator/scripts/quick_validate.py skills/start-project-foundations
python3 /path/to/plugin-creator/scripts/validate_plugin.py .
tests/test-install.shThe validators check skill metadata and plugin manifest shape. They do not replace reviewing the language references for source quality and practical accuracy.