first commit
This commit is contained in:
98
README.md
Normal file
98
README.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# Codex Agent Repository Kit
|
||||
|
||||
Reusable baseline files for repositories that should be easy for Codex agents to inspect, modify, build, review, and release.
|
||||
|
||||
The kit has two modes:
|
||||
|
||||
- `agent-quickstart.md`: shortest prompts and decision tree for Codex agents.
|
||||
- `new-repository.md`: agent workflow for a fresh repository.
|
||||
- `existing-project.md`: agent workflow for upgrading an existing repository.
|
||||
|
||||
The files are intentionally universal. They do not assume Electron, React, Node, or any single stack. Node examples are included only because many Codex projects use them.
|
||||
|
||||
## Agent Goal
|
||||
|
||||
Give every repository the same predictable anchor points:
|
||||
|
||||
```text
|
||||
.
|
||||
|-- AGENTS.md
|
||||
|-- .codex/
|
||||
| `-- project.md
|
||||
|-- .gitea/
|
||||
| `-- workflows/
|
||||
| `-- build.yml
|
||||
|-- docs/
|
||||
| |-- release-checklist.md
|
||||
| `-- security-review.md
|
||||
|-- blueprint.md
|
||||
|-- blueprint.json
|
||||
|-- README.md
|
||||
|-- SECURITY.md
|
||||
|-- CHANGELOG.md
|
||||
`-- .gitignore
|
||||
```
|
||||
|
||||
Use only the files that fit the project. For a tiny script repo, `AGENTS.md`, `README.md`, `SECURITY.md`, and `CHANGELOG.md` may be enough. For an app or releasable tool, add the runner, release checklist, and README blueprint workflow.
|
||||
|
||||
## Copy Map
|
||||
|
||||
| Template | Destination |
|
||||
| --- | --- |
|
||||
| `files/AGENTS.md` | `AGENTS.md` |
|
||||
| `files/project.md` | `.codex/project.md` |
|
||||
| `files/build-gitea.yml` | `.gitea/workflows/build.yml` |
|
||||
| `files/release-checklist.md` | `docs/release-checklist.md` |
|
||||
| `files/security-review.md` | `docs/security-review.md` |
|
||||
| `files/blueprint.md` | `blueprint.md` |
|
||||
| `files/blueprint.json` | `blueprint.json` |
|
||||
| `files/SECURITY.md` | `SECURITY.md` |
|
||||
| `files/CHANGELOG.md` | `CHANGELOG.md` |
|
||||
|
||||
Start with `agent-quickstart.md` when using this kit through Codex.
|
||||
|
||||
`manifest.json` contains the same copy map in a machine-readable format for agents.
|
||||
|
||||
## Placeholders
|
||||
|
||||
Replace these after copying:
|
||||
|
||||
```text
|
||||
PROJECT_NAME
|
||||
PROJECT_DESCRIPTION
|
||||
REPOSITORY_OWNER
|
||||
REPOSITORY_NAME
|
||||
PACKAGE_NAME
|
||||
ARTIFACT_NAME
|
||||
ARTIFACT_OUTPUT_DIRECTORY
|
||||
AUTHOR_NAME
|
||||
PROJECT_STACK
|
||||
DOWNLOAD_URL
|
||||
BUILD_COMMAND
|
||||
TEST_COMMAND
|
||||
LINT_COMMAND
|
||||
AUDIT_COMMAND
|
||||
```
|
||||
|
||||
If a placeholder does not apply, remove it instead of inventing fake information.
|
||||
|
||||
## Agent Prompt For A New Repo
|
||||
|
||||
```text
|
||||
Use templates/codex-project/new-repository.md.
|
||||
Create the Codex repository baseline for this project.
|
||||
Adapt placeholders to this repository.
|
||||
Keep the existing stack choices minimal and do not add unnecessary frameworks.
|
||||
Do not create a release.
|
||||
```
|
||||
|
||||
## Agent Prompt For An Existing Repo
|
||||
|
||||
```text
|
||||
Use templates/codex-project/existing-project.md.
|
||||
Retrofit the Codex repository baseline.
|
||||
Preserve existing project style and README knowledge.
|
||||
Add only the files and commands that fit this repo.
|
||||
Do not restructure application code unless required.
|
||||
Do not create a release.
|
||||
```
|
||||
86
agent-quickstart.md
Normal file
86
agent-quickstart.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Agent Quickstart
|
||||
|
||||
Use this file when you want Codex to apply the repository kit with minimal instructions.
|
||||
|
||||
## New Repository Prompt
|
||||
|
||||
```text
|
||||
Apply the Codex Agent Repository Kit from templates/codex-project.
|
||||
Use new-repository.md as the workflow.
|
||||
Create the smallest useful baseline for this repository.
|
||||
Detect the stack and replace placeholders with real project values.
|
||||
Keep commands truthful: do not add commands that cannot run.
|
||||
Keep the README generator only if it adds value.
|
||||
Do not create a release.
|
||||
Run the cheapest available verification before finishing.
|
||||
```
|
||||
|
||||
## Existing Repository Prompt
|
||||
|
||||
```text
|
||||
Apply the Codex Agent Repository Kit from templates/codex-project.
|
||||
Use existing-project.md as the workflow.
|
||||
Preserve existing code, README knowledge, CI behavior, and project style.
|
||||
Add missing Codex agent context, security review, release checklist, and optional README generator files.
|
||||
Keep commands truthful: do not add commands that cannot run.
|
||||
Do not create a release.
|
||||
Run the cheapest available verification before finishing.
|
||||
```
|
||||
|
||||
## Agent Decision Tree
|
||||
|
||||
```text
|
||||
Is this a fresh repo?
|
||||
yes -> use new-repository.md
|
||||
no -> use existing-project.md
|
||||
|
||||
Does the project already have README structure?
|
||||
yes -> preserve it; only add blueprint files if useful
|
||||
no -> add blueprint.md and blueprint.json
|
||||
|
||||
Does the project produce artifacts?
|
||||
yes -> add downloads/artifacts section and release checklist
|
||||
no -> keep downloads section minimal or remove it
|
||||
|
||||
Does the project have CI?
|
||||
yes -> patch existing workflow
|
||||
no -> add .gitea/workflows/build.yml only when commands are known
|
||||
|
||||
Are commands unknown?
|
||||
yes -> document PENDING in .codex/project.md
|
||||
no -> wire commands into AGENTS.md and CI
|
||||
```
|
||||
|
||||
## Minimal File Set
|
||||
|
||||
For tiny projects:
|
||||
|
||||
```text
|
||||
AGENTS.md
|
||||
.codex/project.md
|
||||
README.md
|
||||
SECURITY.md
|
||||
CHANGELOG.md
|
||||
```
|
||||
|
||||
For releasable projects:
|
||||
|
||||
```text
|
||||
AGENTS.md
|
||||
.codex/project.md
|
||||
README.md
|
||||
SECURITY.md
|
||||
CHANGELOG.md
|
||||
docs/release-checklist.md
|
||||
docs/security-review.md
|
||||
.gitea/workflows/build.yml
|
||||
```
|
||||
|
||||
For README-generator projects:
|
||||
|
||||
```text
|
||||
blueprint.md
|
||||
blueprint.json
|
||||
README.md
|
||||
```
|
||||
|
||||
151
existing-project.md
Normal file
151
existing-project.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# Existing Project Agent Workflow
|
||||
|
||||
Use this file when an existing repository should become easier for Codex agents to maintain.
|
||||
|
||||
## Objective
|
||||
|
||||
Add a Codex-friendly repository baseline without flattening the project's existing structure, README voice, or release process.
|
||||
|
||||
## Rules
|
||||
|
||||
- Preserve existing application code.
|
||||
- Preserve existing README knowledge.
|
||||
- Do not rename files or folders unless the project already requires it.
|
||||
- Do not replace a working CI pipeline wholesale.
|
||||
- Add missing structure gradually.
|
||||
- Prefer documenting current reality over inventing a new process.
|
||||
|
||||
## Steps
|
||||
|
||||
### 1. Inspect First
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
```
|
||||
|
||||
Read:
|
||||
|
||||
```text
|
||||
README*
|
||||
package.json / pyproject.toml / Cargo.toml / go.mod / *.csproj
|
||||
.github/workflows/*
|
||||
.gitea/workflows/*
|
||||
docs/*
|
||||
```
|
||||
|
||||
Identify:
|
||||
|
||||
- stack,
|
||||
- package manager,
|
||||
- build command,
|
||||
- test command,
|
||||
- lint command,
|
||||
- audit command,
|
||||
- release artifacts,
|
||||
- current CI,
|
||||
- existing release notes or changelog,
|
||||
- security-sensitive behavior.
|
||||
|
||||
### 2. Add Agent Context
|
||||
|
||||
Add `AGENTS.md` first. Keep it short and factual.
|
||||
|
||||
Then add `.codex/project.md` with:
|
||||
|
||||
- project purpose,
|
||||
- authoritative commands,
|
||||
- artifact locations,
|
||||
- release process,
|
||||
- security constraints.
|
||||
|
||||
### 3. Add Documentation Files
|
||||
|
||||
Add only missing files:
|
||||
|
||||
```text
|
||||
SECURITY.md
|
||||
CHANGELOG.md
|
||||
docs/security-review.md
|
||||
docs/release-checklist.md
|
||||
```
|
||||
|
||||
If equivalent files already exist, update those instead of duplicating them.
|
||||
|
||||
### 4. README Generator Decision
|
||||
|
||||
Use README blueprint generation only when it helps.
|
||||
|
||||
Use it when:
|
||||
|
||||
- README is large enough to benefit from structure,
|
||||
- project has downloads or release artifacts,
|
||||
- repeated README updates are expected.
|
||||
|
||||
Avoid it when:
|
||||
|
||||
- README is tiny,
|
||||
- project has a strong existing documentation system,
|
||||
- generator output would erase project-specific style.
|
||||
|
||||
If converting:
|
||||
|
||||
1. Copy the current README content into `blueprint.md`.
|
||||
2. Add `blueprint.json`.
|
||||
3. Add a `readme` command.
|
||||
4. Generate `README.md`.
|
||||
5. Compare the diff carefully.
|
||||
|
||||
### 5. CI Retrofit
|
||||
|
||||
If CI already exists:
|
||||
|
||||
- add missing audit/check steps,
|
||||
- keep existing runner labels,
|
||||
- keep existing artifact names unless they are broken,
|
||||
- avoid changing deployment behavior.
|
||||
|
||||
If CI does not exist:
|
||||
|
||||
- add `.gitea/workflows/build.yml` from the template,
|
||||
- remove stack-specific steps that do not apply,
|
||||
- keep publishing disabled until credentials and artifact names are known.
|
||||
|
||||
### 6. Security Review
|
||||
|
||||
Fill `docs/security-review.md` with known facts.
|
||||
|
||||
At minimum check for:
|
||||
|
||||
```text
|
||||
eval
|
||||
dynamic Function
|
||||
unsafe HTML injection
|
||||
shell execution
|
||||
external network calls
|
||||
file writes
|
||||
secret persistence
|
||||
committed .env files
|
||||
```
|
||||
|
||||
Use the stack-native audit command when possible:
|
||||
|
||||
| Stack | Audit command |
|
||||
| --- | --- |
|
||||
| Node | `npm audit --omit=dev --audit-level=high` |
|
||||
| Python | `pip-audit` or `uv pip audit` |
|
||||
| Rust | `cargo audit` |
|
||||
| Go | `govulncheck ./...` |
|
||||
| .NET | `dotnet list package --vulnerable` |
|
||||
|
||||
### 7. Finish
|
||||
|
||||
Before final response:
|
||||
|
||||
- run `git diff --check`,
|
||||
- run the smallest reliable verification command,
|
||||
- list files changed,
|
||||
- mention any skipped checks,
|
||||
- do not create a release unless explicitly requested.
|
||||
|
||||
48
files/AGENTS.md
Normal file
48
files/AGENTS.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Agent Instructions
|
||||
|
||||
## Project
|
||||
|
||||
PROJECT_NAME: PROJECT_DESCRIPTION
|
||||
|
||||
## Repository Rules
|
||||
|
||||
- Prefer existing project patterns over new abstractions.
|
||||
- Keep changes scoped to the user's request.
|
||||
- Do not commit secrets, `.env` files, private keys, certificates, or tokens.
|
||||
- Do not rewrite history or run destructive git commands unless explicitly requested.
|
||||
- Do not create a release unless explicitly requested.
|
||||
|
||||
## Commands
|
||||
|
||||
Use these commands when available:
|
||||
|
||||
```bash
|
||||
LINT_COMMAND
|
||||
TEST_COMMAND
|
||||
BUILD_COMMAND
|
||||
AUDIT_COMMAND
|
||||
```
|
||||
|
||||
If a command is missing, inspect the project and document the closest safe alternative in `.codex/project.md`.
|
||||
|
||||
## Artifacts
|
||||
|
||||
Expected artifact output:
|
||||
|
||||
```text
|
||||
ARTIFACT_OUTPUT_DIRECTORY
|
||||
```
|
||||
|
||||
Expected artifact names:
|
||||
|
||||
```text
|
||||
ARTIFACT_NAME
|
||||
```
|
||||
|
||||
## Security Notes
|
||||
|
||||
- Review `docs/security-review.md` before release work.
|
||||
- Treat generated credentials and config files as sensitive.
|
||||
- Keep external network calls documented.
|
||||
- Prefer local processing for user data.
|
||||
|
||||
8
files/CHANGELOG.md
Normal file
8
files/CHANGELOG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project are documented here.
|
||||
|
||||
## Unreleased
|
||||
|
||||
- Initial project setup.
|
||||
|
||||
22
files/SECURITY.md
Normal file
22
files/SECURITY.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| --- | --- |
|
||||
| Latest | Yes |
|
||||
|
||||
## Reporting A Vulnerability
|
||||
|
||||
Please report security issues privately to the project owner.
|
||||
|
||||
Do not include secrets, production data, or private credentials in public issues.
|
||||
|
||||
## Project Security Principles
|
||||
|
||||
- Keep secrets out of the repository.
|
||||
- Prefer local processing for user data.
|
||||
- Document external network calls.
|
||||
- Keep release artifacts reproducible through CI.
|
||||
- Run dependency audits before releases.
|
||||
|
||||
30
files/blueprint.json
Normal file
30
files/blueprint.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"ids": {
|
||||
"github": "REPOSITORY_OWNER/REPOSITORY_NAME"
|
||||
},
|
||||
"badges": [
|
||||
{
|
||||
"alt": "Build",
|
||||
"img": "https://img.shields.io/badge/build-Gitea%20Runner-2563eb",
|
||||
"url": "https://git.wilkensxl.de/REPOSITORY_OWNER/REPOSITORY_NAME/actions"
|
||||
},
|
||||
{
|
||||
"alt": "Version",
|
||||
"img": "https://img.shields.io/badge/version-0.1.0-111827",
|
||||
"url": "https://git.wilkensxl.de/REPOSITORY_OWNER/REPOSITORY_NAME/releases"
|
||||
}
|
||||
],
|
||||
"headingPrefix": {
|
||||
"1": "",
|
||||
"2": ""
|
||||
},
|
||||
"line": "rainbow",
|
||||
"templates": [
|
||||
{
|
||||
"name": "section-line",
|
||||
"template": "<p align=\"center\"><img src=\"https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png\" alt=\"-----------------------------------------------------\" width=\"100%\"></p>"
|
||||
}
|
||||
],
|
||||
"text": "PROJECT_DESCRIPTION"
|
||||
}
|
||||
|
||||
76
files/blueprint.md
Normal file
76
files/blueprint.md
Normal file
@@ -0,0 +1,76 @@
|
||||
{{ template:title }}
|
||||
|
||||
{{ template:badges }}
|
||||
|
||||
{{ template:section-line }}
|
||||
{{ template:table-of-contents }}
|
||||
|
||||
{{ template:section-line }}
|
||||
## Overview
|
||||
|
||||
PROJECT_DESCRIPTION
|
||||
|
||||
{{ template:section-line }}
|
||||
## Features
|
||||
|
||||
| Area | Description |
|
||||
| --- | --- |
|
||||
| Core | Describe the main project capability |
|
||||
| Workflow | Describe the primary user or developer workflow |
|
||||
| Build | Describe how artifacts are produced |
|
||||
| Security | Describe the default security posture |
|
||||
|
||||
{{ template:section-line }}
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
INSTALL_COMMAND
|
||||
```
|
||||
|
||||
{{ template:section-line }}
|
||||
## Development
|
||||
|
||||
```bash
|
||||
DEV_COMMAND
|
||||
LINT_COMMAND
|
||||
TEST_COMMAND
|
||||
BUILD_COMMAND
|
||||
```
|
||||
|
||||
{{ template:section-line }}
|
||||
## Downloads
|
||||
|
||||
| Variant | Download |
|
||||
| --- | --- |
|
||||
| Latest artifact | [Download latest](DOWNLOAD_URL) |
|
||||
|
||||
Private repositories may require an active session or a token with package read access.
|
||||
|
||||
{{ template:section-line }}
|
||||
## Security
|
||||
|
||||
Security posture:
|
||||
|
||||
| Area | State |
|
||||
| --- | --- |
|
||||
| Secrets | Secrets must not be committed |
|
||||
| Dependency audit | CI should run the project dependency audit |
|
||||
| User data | User data should stay local unless explicitly documented |
|
||||
| External services | Network calls should be documented |
|
||||
|
||||
See `SECURITY.md` and `docs/security-review.md`.
|
||||
|
||||
{{ template:section-line }}
|
||||
## Release
|
||||
|
||||
Release readiness is tracked in `docs/release-checklist.md`.
|
||||
|
||||
{{ template:section-line }}
|
||||
## Project Info
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Author | `AUTHOR_NAME` |
|
||||
| Repository | `REPOSITORY_OWNER/REPOSITORY_NAME` |
|
||||
| Stack | `PROJECT_STACK` |
|
||||
| README workflow | Blueprint workflow based on `andreasbm/readme` |
|
||||
78
files/build-gitea.yml
Normal file
78
files/build-gitea.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Replace this runtime setup block with the stack this project uses.
|
||||
# Examples:
|
||||
# - Node: actions/setup-node@v4
|
||||
# - Python: actions/setup-python@v5
|
||||
# - Go: actions/setup-go@v5
|
||||
# - Rust: dtolnay/rust-toolchain@stable
|
||||
- name: Setup runtime
|
||||
run: echo "Configure PROJECT_STACK runtime here"
|
||||
|
||||
- name: Install dependencies
|
||||
run: INSTALL_COMMAND
|
||||
|
||||
- name: Audit dependencies
|
||||
run: AUDIT_COMMAND
|
||||
|
||||
- name: Lint
|
||||
run: LINT_COMMAND
|
||||
|
||||
- name: Test
|
||||
run: TEST_COMMAND
|
||||
|
||||
- name: Build
|
||||
run: BUILD_COMMAND
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: PROJECT_NAME-artifacts
|
||||
path: |
|
||||
ARTIFACT_OUTPUT_DIRECTORY/**
|
||||
|
||||
- name: Publish latest package
|
||||
if: ${{ env.REGISTRY_TOKEN != '' }}
|
||||
shell: bash
|
||||
run: |
|
||||
app_version="PROJECT_VERSION"
|
||||
package_version="${app_version}-${GITHUB_SHA::7}"
|
||||
latest_url="https://git.wilkensxl.de/api/packages/REPOSITORY_OWNER/generic/PACKAGE_NAME/latest"
|
||||
|
||||
for artifact in ARTIFACT_OUTPUT_DIRECTORY/*; do
|
||||
[ -f "$artifact" ] || continue
|
||||
file_name="$(basename "$artifact")"
|
||||
|
||||
curl --fail-with-body \
|
||||
--user "REPOSITORY_OWNER:${REGISTRY_TOKEN}" \
|
||||
--upload-file "$artifact" \
|
||||
"https://git.wilkensxl.de/api/packages/REPOSITORY_OWNER/generic/PACKAGE_NAME/${package_version}/${file_name}"
|
||||
done
|
||||
|
||||
curl --silent --show-error --user "REPOSITORY_OWNER:${REGISTRY_TOKEN}" --request DELETE "${latest_url}" || true
|
||||
|
||||
for artifact in ARTIFACT_OUTPUT_DIRECTORY/*; do
|
||||
[ -f "$artifact" ] || continue
|
||||
file_name="$(basename "$artifact")"
|
||||
|
||||
curl --fail-with-body \
|
||||
--user "REPOSITORY_OWNER:${REGISTRY_TOKEN}" \
|
||||
--upload-file "$artifact" \
|
||||
"${latest_url}/${file_name}"
|
||||
done
|
||||
72
files/project.md
Normal file
72
files/project.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Codex Project Notes
|
||||
|
||||
## Project
|
||||
|
||||
`PROJECT_NAME` is `PROJECT_DESCRIPTION`
|
||||
|
||||
Repository:
|
||||
|
||||
```text
|
||||
REPOSITORY_OWNER/REPOSITORY_NAME
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
Use these commands as the source of truth:
|
||||
|
||||
```text
|
||||
LINT_COMMAND
|
||||
TEST_COMMAND
|
||||
BUILD_COMMAND
|
||||
AUDIT_COMMAND
|
||||
README_COMMAND
|
||||
```
|
||||
|
||||
If a command does not exist, document the closest safe alternative. Do not invent commands that cannot run.
|
||||
|
||||
## Stack
|
||||
|
||||
```text
|
||||
PROJECT_STACK
|
||||
```
|
||||
|
||||
Package manager or build tool:
|
||||
|
||||
```text
|
||||
PACKAGE_MANAGER
|
||||
```
|
||||
|
||||
## Build Artifacts
|
||||
|
||||
Release artifacts are produced in:
|
||||
|
||||
```text
|
||||
ARTIFACT_OUTPUT_DIRECTORY
|
||||
```
|
||||
|
||||
Expected files:
|
||||
|
||||
```text
|
||||
ARTIFACT_NAME
|
||||
```
|
||||
|
||||
## Security Rules
|
||||
|
||||
- Do not commit secrets, tokens, `.env` files, certificates, or private keys.
|
||||
- Treat generated credentials as sensitive.
|
||||
- Prefer local generation and local processing for user data.
|
||||
- Keep dependency audit results visible in CI where possible.
|
||||
- Do not add external network calls unless the feature explicitly requires them.
|
||||
|
||||
## Release Rules
|
||||
|
||||
Before a release:
|
||||
|
||||
1. run the release checklist,
|
||||
2. verify CI is green,
|
||||
3. verify download links,
|
||||
4. update README and changelog,
|
||||
5. create a tag,
|
||||
6. create the release.
|
||||
|
||||
Do not create releases unless the user explicitly asks for a release.
|
||||
36
files/release-checklist.md
Normal file
36
files/release-checklist.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Release Checklist
|
||||
|
||||
## Version
|
||||
|
||||
- [ ] Version number updated.
|
||||
- [ ] Changelog updated.
|
||||
- [ ] README regenerated if blueprint files changed.
|
||||
|
||||
## Quality
|
||||
|
||||
- [ ] Working tree is clean.
|
||||
- [ ] Lint/type checks pass.
|
||||
- [ ] Tests pass or missing tests are documented.
|
||||
- [ ] Build succeeds in CI.
|
||||
|
||||
## Security
|
||||
|
||||
- [ ] Security review is current.
|
||||
- [ ] Dependency audit is clean or documented.
|
||||
- [ ] No secrets are committed.
|
||||
- [ ] Release artifacts do not contain local config files.
|
||||
|
||||
## Artifacts
|
||||
|
||||
- [ ] Artifacts are uploaded.
|
||||
- [ ] Download links work.
|
||||
- [ ] Package registry links work if used.
|
||||
- [ ] Installer/portable/archive naming is clear.
|
||||
|
||||
## Release
|
||||
|
||||
- [ ] Git tag created.
|
||||
- [ ] Release notes written.
|
||||
- [ ] Release published.
|
||||
- [ ] Post-release download smoke test completed.
|
||||
|
||||
54
files/security-review.md
Normal file
54
files/security-review.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Security Review
|
||||
|
||||
## Scope
|
||||
|
||||
Project:
|
||||
|
||||
```text
|
||||
PROJECT_NAME
|
||||
```
|
||||
|
||||
Reviewed version or commit:
|
||||
|
||||
```text
|
||||
COMMIT_OR_VERSION
|
||||
```
|
||||
|
||||
## Code Patterns Checked
|
||||
|
||||
- [ ] No `eval`.
|
||||
- [ ] No dynamic `Function` constructor.
|
||||
- [ ] No unsafe HTML injection.
|
||||
- [ ] No unexpected shell execution.
|
||||
- [ ] No unexpected external network calls.
|
||||
- [ ] No secrets committed.
|
||||
- [ ] No unsafe file writes outside expected user-selected paths.
|
||||
|
||||
## Dependency Review
|
||||
|
||||
Command:
|
||||
|
||||
```bash
|
||||
AUDIT_COMMAND
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```text
|
||||
PENDING
|
||||
```
|
||||
|
||||
## Runtime Review
|
||||
|
||||
- [ ] Least-privilege runtime configuration.
|
||||
- [ ] External URLs documented.
|
||||
- [ ] Local data storage documented.
|
||||
- [ ] Sensitive data is not persisted unless explicitly required.
|
||||
|
||||
## Release Notes
|
||||
|
||||
Known residual risks:
|
||||
|
||||
```text
|
||||
None documented yet.
|
||||
```
|
||||
79
manifest.json
Normal file
79
manifest.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"name": "codex-agent-repository-kit",
|
||||
"version": "1.0.0",
|
||||
"description": "Universal repository baseline for Codex-assisted projects.",
|
||||
"workflows": {
|
||||
"newRepository": "new-repository.md",
|
||||
"existingProject": "existing-project.md",
|
||||
"quickstart": "agent-quickstart.md"
|
||||
},
|
||||
"copyMap": [
|
||||
{
|
||||
"source": "files/AGENTS.md",
|
||||
"target": "AGENTS.md",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"source": "files/project.md",
|
||||
"target": ".codex/project.md",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"source": "files/SECURITY.md",
|
||||
"target": "SECURITY.md",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/CHANGELOG.md",
|
||||
"target": "CHANGELOG.md",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/release-checklist.md",
|
||||
"target": "docs/release-checklist.md",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/security-review.md",
|
||||
"target": "docs/security-review.md",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/blueprint.md",
|
||||
"target": "blueprint.md",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/blueprint.json",
|
||||
"target": "blueprint.json",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"source": "files/build-gitea.yml",
|
||||
"target": ".gitea/workflows/build.yml",
|
||||
"required": false
|
||||
}
|
||||
],
|
||||
"placeholders": [
|
||||
"PROJECT_NAME",
|
||||
"PROJECT_DESCRIPTION",
|
||||
"REPOSITORY_OWNER",
|
||||
"REPOSITORY_NAME",
|
||||
"PACKAGE_NAME",
|
||||
"ARTIFACT_NAME",
|
||||
"ARTIFACT_OUTPUT_DIRECTORY",
|
||||
"AUTHOR_NAME",
|
||||
"PROJECT_STACK",
|
||||
"DOWNLOAD_URL",
|
||||
"BUILD_COMMAND",
|
||||
"TEST_COMMAND",
|
||||
"LINT_COMMAND",
|
||||
"AUDIT_COMMAND",
|
||||
"README_COMMAND",
|
||||
"INSTALL_COMMAND",
|
||||
"DEV_COMMAND",
|
||||
"PACKAGE_MANAGER",
|
||||
"PROJECT_VERSION"
|
||||
]
|
||||
}
|
||||
|
||||
159
new-repository.md
Normal file
159
new-repository.md
Normal file
@@ -0,0 +1,159 @@
|
||||
# New Repository Agent Workflow
|
||||
|
||||
Use this file as the agent-facing workflow for a fresh repository.
|
||||
|
||||
## Objective
|
||||
|
||||
Create a small, clear repository baseline that helps future Codex agents understand:
|
||||
|
||||
- what the project is,
|
||||
- how to build and verify it,
|
||||
- how releases are prepared,
|
||||
- what security rules matter,
|
||||
- where generated artifacts are expected.
|
||||
|
||||
## Steps
|
||||
|
||||
### 1. Inspect The Repo
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
```
|
||||
|
||||
Identify:
|
||||
|
||||
- repository name,
|
||||
- likely stack,
|
||||
- package manager or build tool,
|
||||
- expected artifact type,
|
||||
- whether the repo is app, service, library, script, documentation, or infrastructure.
|
||||
|
||||
### 2. Copy Baseline Files
|
||||
|
||||
Create directories as needed and copy:
|
||||
|
||||
```text
|
||||
files/AGENTS.md -> AGENTS.md
|
||||
files/project.md -> .codex/project.md
|
||||
files/SECURITY.md -> SECURITY.md
|
||||
files/CHANGELOG.md -> CHANGELOG.md
|
||||
files/release-checklist.md -> docs/release-checklist.md
|
||||
files/security-review.md -> docs/security-review.md
|
||||
files/blueprint.md -> blueprint.md
|
||||
files/blueprint.json -> blueprint.json
|
||||
files/build-gitea.yml -> .gitea/workflows/build.yml
|
||||
```
|
||||
|
||||
Skip `build-gitea.yml` when the project has no CI target yet. Skip README blueprint files when the project should keep a very small manual README.
|
||||
|
||||
### 3. Replace Placeholders
|
||||
|
||||
Replace only with facts that are known.
|
||||
|
||||
Required:
|
||||
|
||||
```text
|
||||
PROJECT_NAME
|
||||
PROJECT_DESCRIPTION
|
||||
REPOSITORY_OWNER
|
||||
REPOSITORY_NAME
|
||||
```
|
||||
|
||||
Optional:
|
||||
|
||||
```text
|
||||
PACKAGE_NAME
|
||||
ARTIFACT_NAME
|
||||
ARTIFACT_OUTPUT_DIRECTORY
|
||||
AUTHOR_NAME
|
||||
PROJECT_STACK
|
||||
DOWNLOAD_URL
|
||||
BUILD_COMMAND
|
||||
TEST_COMMAND
|
||||
LINT_COMMAND
|
||||
AUDIT_COMMAND
|
||||
```
|
||||
|
||||
Delete sections that do not apply.
|
||||
|
||||
### 4. Add Standard Commands
|
||||
|
||||
Prefer these command names when the stack supports them:
|
||||
|
||||
```text
|
||||
dev
|
||||
lint
|
||||
test
|
||||
build
|
||||
audit
|
||||
readme
|
||||
release:check
|
||||
```
|
||||
|
||||
For Node projects, a reasonable baseline is:
|
||||
|
||||
```json
|
||||
{
|
||||
"scripts": {
|
||||
"lint": "tsc --noEmit",
|
||||
"build": "tsc --noEmit",
|
||||
"audit": "npm audit --omit=dev --audit-level=high",
|
||||
"readme": "npx --yes @appnest/readme generate -i blueprint.md -c blueprint.json",
|
||||
"release:check": "npm run lint && npm run build"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Do not add commands that cannot run.
|
||||
|
||||
### 5. Create Or Update README
|
||||
|
||||
If using the generator:
|
||||
|
||||
1. Fill `blueprint.md`.
|
||||
2. Fill `blueprint.json`.
|
||||
3. Add a `readme` command.
|
||||
4. Generate `README.md`.
|
||||
5. Commit `README.md`, `blueprint.md`, and `blueprint.json`.
|
||||
|
||||
If not using the generator, keep a manual README with the same main sections:
|
||||
|
||||
```text
|
||||
Overview
|
||||
Features
|
||||
Installation
|
||||
Development
|
||||
Downloads or Artifacts
|
||||
Security
|
||||
Release
|
||||
Project Info
|
||||
```
|
||||
|
||||
### 6. Add CI
|
||||
|
||||
Create the smallest useful workflow:
|
||||
|
||||
```text
|
||||
checkout
|
||||
setup runtime
|
||||
install dependencies
|
||||
audit
|
||||
lint/test
|
||||
build
|
||||
upload artifacts
|
||||
```
|
||||
|
||||
Only publish artifacts to a package registry when the artifact names and credentials are known.
|
||||
|
||||
### 7. Finish
|
||||
|
||||
Before final response:
|
||||
|
||||
- run formatting or validation if available,
|
||||
- run the cheapest reliable verification command,
|
||||
- check `git diff --check`,
|
||||
- summarize changed files,
|
||||
- do not create a release unless explicitly requested.
|
||||
|
||||
Reference in New Issue
Block a user