chore: add MIT license, README, and agent scaffolding
This commit is contained in:
commit
a12c7732e6
5 changed files with 162 additions and 0 deletions
10
AGENTS.md
Normal file
10
AGENTS.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
## Repo & agent configuration
|
||||
|
||||
This project follows the full agent workflow:
|
||||
initialize-project → interrogate → to-prd → to-issues → tdd
|
||||
|
||||
### Repo instructions
|
||||
See `docs/agents/repo-instructions.md`.
|
||||
|
||||
### Domain documentation
|
||||
See `docs/agents/domain.md`.
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2026 jtmorris
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
0
README.md
Normal file
0
README.md
Normal file
56
docs/agents/domain.md
Normal file
56
docs/agents/domain.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# Domain Documentation
|
||||
|
||||
This project follows the domain documentation conventions used by the `interrogate` skill.
|
||||
|
||||
## Expected Layout
|
||||
|
||||
### Single-context (most common)
|
||||
```
|
||||
/ (project root)
|
||||
├── CONTEXT.md ← canonical glossary and domain model
|
||||
├── docs/
|
||||
│ └── adr/ ← Architectural Decision Records
|
||||
│ ├── 0001-....md
|
||||
│ └── ...
|
||||
└── src/ (or equivalent)
|
||||
```
|
||||
|
||||
### Multi-context (monorepos or large systems)
|
||||
```
|
||||
/ (project root)
|
||||
├── CONTEXT-MAP.md ← points to per-context locations
|
||||
├── docs/
|
||||
│ └── adr/ ← system-wide ADRs
|
||||
├── src/
|
||||
│ ├── context-a/
|
||||
│ │ ├── CONTEXT.md
|
||||
│ │ └── docs/adr/
|
||||
│ └── context-b/
|
||||
│ ├── CONTEXT.md
|
||||
│ └── docs/adr/
|
||||
```
|
||||
|
||||
## Rules for Skills and Agents
|
||||
|
||||
### Lazy Creation
|
||||
- Only create `CONTEXT.md` when the first meaningful term is resolved.
|
||||
- Only create `docs/adr/` (or per-context ADR folders) when the first ADR is actually needed.
|
||||
- Do not pre-create empty files "just in case".
|
||||
|
||||
### During Work (especially with `interrogate`)
|
||||
- When a term is used that conflicts with existing language in `CONTEXT.md`, call it out immediately.
|
||||
- When vague or overloaded terms appear, propose a precise canonical term.
|
||||
- Stress-test domain relationships with concrete scenarios.
|
||||
- Cross-check stated behavior against actual code.
|
||||
- **Update `CONTEXT.md` inline** as decisions are made — do not batch updates.
|
||||
|
||||
### Architectural Decision Records (ADRs)
|
||||
Only propose creating an ADR when **all three** are true:
|
||||
1. The decision is hard to reverse later.
|
||||
2. A future reader would be surprised without the context.
|
||||
3. There were genuine alternatives and a real trade-off was made.
|
||||
|
||||
Use the format defined in your project's ADR template when creating one.
|
||||
|
||||
## For Other Skills
|
||||
Skills such as `interrogate`, `to-prd`, architecture review, diagnosis, and TDD should read this file (and the referenced `CONTEXT.md` / ADRs) to maintain consistent domain language across the project.
|
||||
75
docs/agents/repo-instructions.md
Normal file
75
docs/agents/repo-instructions.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Repo Instructions — Forgejo
|
||||
|
||||
**Primary host**: https://forgejo.jtmorris.net (self-hosted Forgejo)
|
||||
**CLI**: `fj` (https://codeberg.org/forgejo-contrib/forgejo-cli)
|
||||
|
||||
## CLI Usage
|
||||
|
||||
Assume `fj` is installed and authenticated.
|
||||
|
||||
### Authentication
|
||||
- `fj auth login` — interactive login (recommended first time).
|
||||
- For self-hosted instances, use the `--host` flag when not inside a matching git repo:
|
||||
```bash
|
||||
fj --host https://git.example.com auth login
|
||||
```
|
||||
|
||||
`fj` will often auto-detect the instance from the current git remote.
|
||||
|
||||
### Common Operations
|
||||
|
||||
**Issues**
|
||||
```bash
|
||||
fj issue create --title "..." --body "..."
|
||||
fj issue list
|
||||
fj issue view <number>
|
||||
fj issue comment <number> --body "..."
|
||||
```
|
||||
|
||||
**Pull Requests / Changes**
|
||||
```bash
|
||||
fj pr create
|
||||
fj pr list
|
||||
fj pr merge <number>
|
||||
```
|
||||
|
||||
For AGit-style pull requests (no fork required on many Forgejo instances), `fj` supports the normal flow.
|
||||
|
||||
**Repository**
|
||||
```bash
|
||||
fj repo create ...
|
||||
fj release create ...
|
||||
```
|
||||
|
||||
### Self-Hosted / Private Instances
|
||||
|
||||
When working with a private Forgejo instance that is not the default detected remote, always include `--host`:
|
||||
|
||||
```bash
|
||||
fj --host https://forgejo.jtmorris.net issue create ...
|
||||
```
|
||||
|
||||
Store the base URL in team documentation or your shell aliases if used frequently.
|
||||
|
||||
## Work Tracking Approach
|
||||
|
||||
- Use the Forgejo issue tracker for most planned work, bugs, and feature requests.
|
||||
- For quick local exploration or solo spikes, you may use a `.scratch/` directory (see Local section below).
|
||||
- Link commits and PRs to issues using conventional references (e.g. `Fixes #123`).
|
||||
|
||||
## Local / Air-Gapped / No-Remote Mode
|
||||
|
||||
Even on a Forgejo-hosted project, you can work fully locally:
|
||||
|
||||
- Use `git` normally.
|
||||
- Track temporary work in `.scratch/<feature-slug>/` as markdown files.
|
||||
- When ready, push and create issues/PRs via `fj`.
|
||||
|
||||
If this project is used in a completely local-only or air-gapped context, refer to the Local template or update this file.
|
||||
|
||||
## Notes for Agent Skills
|
||||
|
||||
- Prefer `fj` commands when interacting with issues or PRs on this project.
|
||||
- For self-hosted instances, include `--host` in commands unless the git remote already points at the correct instance.
|
||||
- `interrogate` and `to-prd` should read this file to know which CLI and host conventions to follow.
|
||||
- When in doubt about the current instance, check `git remote -v` first.
|
||||
Loading…
Add table
Reference in a new issue