ulkan 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ulkan-0.1.0/.agent/docs/ULKAN_MANUAL.md +75 -0
- ulkan-0.1.0/.agent/docs/decisions/README.md +4 -0
- ulkan-0.1.0/.agent/docs/guidelines/README.md +4 -0
- ulkan-0.1.0/.agent/docs/product/ARCHITECTURE.md +57 -0
- ulkan-0.1.0/.agent/docs/product/README.md +4 -0
- ulkan-0.1.0/.agent/docs/product/VISION.md +26 -0
- ulkan-0.1.0/.agent/docs/specs/README.md +4 -0
- ulkan-0.1.0/.agent/rules/README.md +4 -0
- ulkan-0.1.0/.agent/skills/README.md +4 -0
- ulkan-0.1.0/.agent/skills/adr-creator/SKILL.md +31 -0
- ulkan-0.1.0/.agent/skills/adr-creator/assets/ADR-TEMPLATE.md +49 -0
- ulkan-0.1.0/.agent/skills/guidelines-creator/SKILL.md +30 -0
- ulkan-0.1.0/.agent/skills/guidelines-creator/assets/GUIDELINE-TEMPLATE.md +22 -0
- ulkan-0.1.0/.agent/skills/product-docs-creator/SKILL.md +32 -0
- ulkan-0.1.0/.agent/skills/product-docs-creator/assets/ARCHITECTURE-TEMPLATE.md +20 -0
- ulkan-0.1.0/.agent/skills/product-docs-creator/assets/VISION-TEMPLATE.md +16 -0
- ulkan-0.1.0/.agent/skills/rules-creator/SKILL.md +41 -0
- ulkan-0.1.0/.agent/skills/rules-creator/assets/RULE-TEMPLATE.md +39 -0
- ulkan-0.1.0/.agent/skills/skill-creator/SKILL.md +55 -0
- ulkan-0.1.0/.agent/skills/skill-creator/assets/SKILL-TEMPLATE.md +51 -0
- ulkan-0.1.0/.agent/skills/specs-creator/SKILL.md +31 -0
- ulkan-0.1.0/.agent/skills/specs-creator/assets/SPEC-TEMPLATE.md +33 -0
- ulkan-0.1.0/.agent/skills/tools-creator/SKILL.md +34 -0
- ulkan-0.1.0/.agent/skills/tools-creator/assets/TOOL-TEMPLATE.md +70 -0
- ulkan-0.1.0/.agent/skills/workflows-creator/SKILL.md +30 -0
- ulkan-0.1.0/.agent/skills/workflows-creator/assets/WORKFLOW-TEMPLATE.md +17 -0
- ulkan-0.1.0/.agent/tools/README.md +4 -0
- ulkan-0.1.0/.agent/tools/scripts/README.md +24 -0
- ulkan-0.1.0/.agent/tools/scripts/lint_agent_setup.py +84 -0
- ulkan-0.1.0/.agent/tools/scripts/sync_agents_docs.py +125 -0
- ulkan-0.1.0/.agent/workflows/README.md +4 -0
- ulkan-0.1.0/.agent/workflows/add-to-workflow.md +40 -0
- ulkan-0.1.0/.agent/workflows/build.md +41 -0
- ulkan-0.1.0/.agent/workflows/docs.md +25 -0
- ulkan-0.1.0/.agent/workflows/feat.md +42 -0
- ulkan-0.1.0/.agent/workflows/fix.md +35 -0
- ulkan-0.1.0/.agent/workflows/git-flow.md +88 -0
- ulkan-0.1.0/.agent/workflows/migrate.md +34 -0
- ulkan-0.1.0/.agent/workflows/refact.md +42 -0
- ulkan-0.1.0/.github/workflows/ci.yml +67 -0
- ulkan-0.1.0/.github/workflows/release.yml +72 -0
- ulkan-0.1.0/.gitignore +49 -0
- ulkan-0.1.0/.vscode/settings.json +13 -0
- ulkan-0.1.0/AGENTS.md +83 -0
- ulkan-0.1.0/CHANGELOG.md +59 -0
- ulkan-0.1.0/LICENSE +21 -0
- ulkan-0.1.0/PKG-INFO +222 -0
- ulkan-0.1.0/README.md +190 -0
- ulkan-0.1.0/pyproject.toml +69 -0
- ulkan-0.1.0/scripts/install.sh +154 -0
- ulkan-0.1.0/src/ulkan/__init__.py +1 -0
- ulkan-0.1.0/src/ulkan/agents.py +255 -0
- ulkan-0.1.0/src/ulkan/blueprints/AGENTS.md +82 -0
- ulkan-0.1.0/src/ulkan/blueprints/__init__.py +123 -0
- ulkan-0.1.0/src/ulkan/blueprints/docs/ULKAN_MANUAL.md +42 -0
- ulkan-0.1.0/src/ulkan/blueprints/docs/decisions/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/docs/guidelines/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/docs/product/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/docs/specs/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/rules/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/adr-creator/SKILL.md +31 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/adr-creator/assets/ADR-TEMPLATE.md +49 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/guidelines-creator/SKILL.md +30 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/guidelines-creator/assets/GUIDELINE-TEMPLATE.md +22 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/product-docs-creator/SKILL.md +32 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/product-docs-creator/assets/ARCHITECTURE-TEMPLATE.md +20 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/product-docs-creator/assets/VISION-TEMPLATE.md +16 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/rules-creator/SKILL.md +41 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/rules-creator/assets/RULE-TEMPLATE.md +39 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/skill-creator/SKILL.md +55 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/skill-creator/assets/SKILL-TEMPLATE.md +51 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/specs-creator/SKILL.md +31 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/specs-creator/assets/SPEC-TEMPLATE.md +33 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/tools-creator/SKILL.md +34 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/tools-creator/assets/TOOL-TEMPLATE.md +70 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/workflows-creator/SKILL.md +30 -0
- ulkan-0.1.0/src/ulkan/blueprints/skills/workflows-creator/assets/WORKFLOW-TEMPLATE.md +17 -0
- ulkan-0.1.0/src/ulkan/blueprints/tools/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/tools/scripts/README.md +24 -0
- ulkan-0.1.0/src/ulkan/blueprints/tools/scripts/lint_agent_setup.py +84 -0
- ulkan-0.1.0/src/ulkan/blueprints/tools/scripts/sync_agents_docs.py +125 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/README.md +4 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/add-to-workflow.md +40 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/build.md +41 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/docs.md +25 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/feat.md +38 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/fix.md +34 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/git-flow.md +88 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/migrate.md +34 -0
- ulkan-0.1.0/src/ulkan/blueprints/workflows/refact.md +36 -0
- ulkan-0.1.0/src/ulkan/builder.py +200 -0
- ulkan-0.1.0/src/ulkan/commands.py +898 -0
- ulkan-0.1.0/src/ulkan/generator.py +203 -0
- ulkan-0.1.0/src/ulkan/main.py +4 -0
- ulkan-0.1.0/src/ulkan/manager.py +346 -0
- ulkan-0.1.0/src/ulkan/migrator.py +284 -0
- ulkan-0.1.0/src/ulkan/styles.py +83 -0
- ulkan-0.1.0/src/ulkan/syncer.py +167 -0
- ulkan-0.1.0/uv.lock +346 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 📘 Ulkan Operator's Manual
|
|
2
|
+
|
|
3
|
+
**Welcome, Agent.**
|
|
4
|
+
You are operating within an **Ulkan-scaffolded environment**. This manual is your "Driver's License" for this system. It explains the tools, commands, and structures available to you.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🚀 1. The Command Line Interface (CLI)
|
|
9
|
+
|
|
10
|
+
You have access to the `ulkan` CLI. Use it to maintain the project and your own context.
|
|
11
|
+
|
|
12
|
+
### Core Commands
|
|
13
|
+
|
|
14
|
+
| Command | Usage | When to use |
|
|
15
|
+
| :--- | :--- | :--- |
|
|
16
|
+
| **`ulkan search`** | `ulkan search <query>` | Search the **Skyll API** for Skills, Workflows, or Tools to add to your project. Supports sorting (`--sort installs`). |
|
|
17
|
+
| **`ulkan list`** | `ulkan list <type>` | View what assets are currently installed in your `.agent/` directory. Use `ulkan list all` to see everything. |
|
|
18
|
+
| **`ulkan add`** | `ulkan add <type> <name>` | Install an asset from the registry (API or local). E.g., `ulkan add skill react-best-practices`. |
|
|
19
|
+
| **`ulkan sync`** | `ulkan sync` | **ALWAYS** after creating or modifying a Skill, Rule, or Workflow. This updates `AGENTS.md` automatically. |
|
|
20
|
+
| **`ulkan build`** | `ulkan build` | When you need to re-analyze the project context and update the "Tech Stack" section of `AGENTS.md`. |
|
|
21
|
+
| **`ulkan adapt`** | `ulkan adapt --[agent]` | If you lose your configuration files. Restores symlinks for specific agents (e.g., `ulkan adapt --claude`). |
|
|
22
|
+
| **`ulkan migrate`** | `ulkan migrate` | If you find legacy configuration folders (like `.claude/` or `.gemini/`) that need to be unified into `.agent/`. |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📂 2. The `.agent/` Directory
|
|
27
|
+
|
|
28
|
+
This is your "brain". All your instructions and capabilities are stored here.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
.agent/
|
|
32
|
+
├── skills/ # YOUR CAPABILITIES. specialized tasks you can perform.
|
|
33
|
+
│ ├── skill-creator/
|
|
34
|
+
│ ├── adr-creator/
|
|
35
|
+
│ └── ...
|
|
36
|
+
├── workflows/ # YOUR PROCEDURES. Step-by-step guides for complex tasks.
|
|
37
|
+
│ ├── feat.md # usage: /feat
|
|
38
|
+
│ ├── fix.md # usage: /fix
|
|
39
|
+
│ └── ...
|
|
40
|
+
├── rules/ # YOUR CONSTRAINTS. "Always-on" policies.
|
|
41
|
+
├── docs/ # PROJECT MEMORY.
|
|
42
|
+
│ ├── product/ # Vision, Architecture
|
|
43
|
+
│ ├── specs/ # Feature Specifications
|
|
44
|
+
│ └── decisions/ # Architecture Decision Records (ADRs)
|
|
45
|
+
└── tools/ # YOUR HANDS. Scripts and utilities.
|
|
46
|
+
└── scripts/ # Python scripts you can run (e.g., sync_agents_docs.py)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🛠️ 3. How to Use Your Skills
|
|
52
|
+
|
|
53
|
+
You don't just "write code". You use **Skills** to perform high-value actions.
|
|
54
|
+
* **Need to create a new feature?** -> Check `workflows/feat.md`.
|
|
55
|
+
* **Need to document a decision?** -> Read `skills/adr-creator/SKILL.md` and follow it.
|
|
56
|
+
* **Need to create a new tool?** -> Read `skills/tools-creator/SKILL.md`.
|
|
57
|
+
|
|
58
|
+
**💡 Pro Tip**: If you are asked to do something complex, **first check if there is a Skill or Workflow for it**. providing a standardized output is better than guessing.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🔄 4. Self-Correction & Maintenance
|
|
63
|
+
|
|
64
|
+
### "I created a new Skill but it's not in AGENTS.md!"
|
|
65
|
+
> Run `ulkan sync`. This script parses the `.agent/skills` directory and updates the table in `AGENTS.md`.
|
|
66
|
+
|
|
67
|
+
### "I found a bug in a workflow."
|
|
68
|
+
> You are allowed to improve the system! Edit the relevant `.md` file in `.agent/workflows/` and run `ulkan sync`.
|
|
69
|
+
|
|
70
|
+
### "The project architecture has changed."
|
|
71
|
+
> Update `.agent/docs/product/ARCHITECTURE.md`. Keep the documentation alive.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
*End of Manual.*
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Architecture Overview: Ulkan
|
|
2
|
+
|
|
3
|
+
## 1. High-Level Design
|
|
4
|
+
|
|
5
|
+
Ulkan operates on a "Hub and Spoke" model:
|
|
6
|
+
* **Hub**: The `.agent/` directory (Single Source of Truth).
|
|
7
|
+
* **Spokes**: The adapter files (e.g., `.claude/`, `copilot-instructions.md`) used by specific tools.
|
|
8
|
+
* **Engine**: The `ulkan` CLI which manages the synchronization between Hub and Spokes.
|
|
9
|
+
|
|
10
|
+
## 2. Tech Stack
|
|
11
|
+
|
|
12
|
+
| Component | Technology | Rationale |
|
|
13
|
+
| :--- | :--- | :--- |
|
|
14
|
+
| **Language** | Python 3.12+ | Modern, typed, compliant with latest standards. |
|
|
15
|
+
| **CLI Framework** | `typer` | Type-hint based CLI creation, robust and easy to maintain. |
|
|
16
|
+
| **Terminal UI** | `rich` | Beautiful, readable output is critical for developer tools. |
|
|
17
|
+
| **Interactivity** | `inquirerpy` | robust interactive prompts for `init` and selection flows. |
|
|
18
|
+
| **Packaging** | `hatchling` | Modern standards-based build backend. |
|
|
19
|
+
|
|
20
|
+
## 3. Project Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
src/ulkan/
|
|
24
|
+
├── main.py # Entry point
|
|
25
|
+
├── commands.py # CLI command definitions (init, build, adapt, sync)
|
|
26
|
+
├── agents.py # Logic for specific AI agent adapters
|
|
27
|
+
├── generator.py # Scaffolding logic (creating .agent structure)
|
|
28
|
+
├── migrator.py # Logic for ingesting existing agent configs
|
|
29
|
+
├── syncer.py # Documentation synchronization logic
|
|
30
|
+
├── builder.py # "AI Build" logic (LLM interaction)
|
|
31
|
+
└── templates/ # Jinja2 templates for artifacts
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 4. Core Concepts
|
|
35
|
+
|
|
36
|
+
### 4.1. Single Source of Truth (SSOT)
|
|
37
|
+
The `.agent/` folder contains canonical data:
|
|
38
|
+
* `skills/`: Reusable capabilities (e.g., "Create React Component").
|
|
39
|
+
* `workflows/`: Standard operating procedures (e.g., "Bug Fix Workflow").
|
|
40
|
+
* `rules/`: Active constraints.
|
|
41
|
+
* `docs/`: Product context.
|
|
42
|
+
|
|
43
|
+
### 4.2. Adaptation
|
|
44
|
+
The `adapt` command creates symbolic links or generated files mapping the SSOT to vendor-specific formats.
|
|
45
|
+
* *Example*: `.agent` -> `.claude` (Symlink) allows Claude CLI to see the standard structure as its own context.
|
|
46
|
+
|
|
47
|
+
### 4.3. Synchronization
|
|
48
|
+
The `sync` command ensures `AGENTS.md` (the human/agent readable index) reflects the actual state of the `.agent/` directory.
|
|
49
|
+
|
|
50
|
+
## 5. Data Flow
|
|
51
|
+
|
|
52
|
+
1. **User** runs `ulkan init`.
|
|
53
|
+
2. **Generator** creates `.agent/` structure.
|
|
54
|
+
3. **User** runs `ulkan adapt --claude`.
|
|
55
|
+
4. **Adapter** symlinks `.agent` to `.claude`.
|
|
56
|
+
5. **User** runs `ulkan build`.
|
|
57
|
+
6. **Builder** invokes the AI Agent to read project code and populate `AGENTS.md` context sections.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Product Vision: Ulkan
|
|
2
|
+
|
|
3
|
+
## 1. Mission Statement
|
|
4
|
+
To make "agent-ready" the default state for every software project, eliminating the friction between human developers and AI assistants.
|
|
5
|
+
|
|
6
|
+
## 2. The Problem
|
|
7
|
+
* **Fragmentation**: Every developer configures their AI agent differently (system prompts, recommended extensions, ignored files).
|
|
8
|
+
* **Context Loss**: AI agents often lack the "big picture" (architecture, conventions, business goals) leading to hallucinations or misaligned code.
|
|
9
|
+
* **Maintenance Burden**: Keeping `CLAUDE.md`, `.cursorrules`, and custom instructions in sync is manual and error-prone.
|
|
10
|
+
|
|
11
|
+
## 3. The Solution: Ulkan
|
|
12
|
+
Ulkan is an **Agentic Scaffolding Tool** that provides a standardized, agent-agnostic interface for any codebase.
|
|
13
|
+
|
|
14
|
+
* **Standardized Context**: A strictly defined `.agent/` directory structure acting as the Single Source of Truth (SSOT).
|
|
15
|
+
* **Universal Compatibility**: Adapters that automatically generate configuration for specific agents (Claude, Gemini, Copilot, etc.) from the SSOT.
|
|
16
|
+
* **Living Documentation**: CLI tools (`ulkan sync`, `ulkan build`) that keep documentation fresh and accurate.
|
|
17
|
+
|
|
18
|
+
## 4. Target Audience
|
|
19
|
+
* **Software Engineers** adapting to AI-assisted workflows.
|
|
20
|
+
* **Tech Leads** wanting to enforce consistency across team members' AI agents.
|
|
21
|
+
* **maintainers** of open-source projects who want to make their code base easily understandable by AI contributors.
|
|
22
|
+
|
|
23
|
+
## 5. Core Values
|
|
24
|
+
* **Zero Magic**: Everything is explicit files and folders.
|
|
25
|
+
* **Agent Agnostic**: Don't lock into one specific AI vendor.
|
|
26
|
+
* **Automated Maintenance**: If it can be scripted, it shouldn't be a wiki page.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adr-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates updated Architecture Decision Records (ADRs).
|
|
5
|
+
Trigger: When user asks to document a decision, change component, or record architectural choice.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating new ADR"
|
|
12
|
+
trigger: "Record decision"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create an ADR
|
|
17
|
+
|
|
18
|
+
Create an ADR when:
|
|
19
|
+
- A significant architectural decision is made.
|
|
20
|
+
- A new technology or pattern is introduced.
|
|
21
|
+
- A decision has non-trivial trade-offs.
|
|
22
|
+
- A previous decision is superseded or deprecated.
|
|
23
|
+
|
|
24
|
+
## ADR Location
|
|
25
|
+
|
|
26
|
+
ADRs are located in `.agent/docs/decisions/`.
|
|
27
|
+
Format: `{number}-{kebab-case-title}.md` (e.g., `001-use-postgres.md`).
|
|
28
|
+
|
|
29
|
+
## Resources
|
|
30
|
+
|
|
31
|
+
- **Templates**: See [assets/](assets/) for ADR-TEMPLATE.md (Michael Nygard format).
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: {proposed | accepted | rejected | deprecated | superseded}
|
|
3
|
+
date: {YYYY-MM-DD}
|
|
4
|
+
deciders: {list of people involved}
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# {Title}
|
|
8
|
+
|
|
9
|
+
## Context and Problem Statement
|
|
10
|
+
|
|
11
|
+
{Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in form of a question.}
|
|
12
|
+
|
|
13
|
+
## Decision Drivers
|
|
14
|
+
|
|
15
|
+
* {driver 1, e.g., a force, facing concern, …}
|
|
16
|
+
* {driver 2, e.g., a force, facing concern, …}
|
|
17
|
+
|
|
18
|
+
## Considered Options
|
|
19
|
+
|
|
20
|
+
* {option 1}
|
|
21
|
+
* {option 2}
|
|
22
|
+
* {option 3}
|
|
23
|
+
|
|
24
|
+
## Decision Outcome
|
|
25
|
+
|
|
26
|
+
Chosen option: "{option 1}", because {justification}.
|
|
27
|
+
|
|
28
|
+
### Positive Consequences
|
|
29
|
+
|
|
30
|
+
* {positive consequence 1}
|
|
31
|
+
* {positive consequence 2}
|
|
32
|
+
|
|
33
|
+
### Negative Consequences
|
|
34
|
+
|
|
35
|
+
* {negative consequence 1}
|
|
36
|
+
* {negative consequence 2}
|
|
37
|
+
|
|
38
|
+
## Pros and Cons of the Options
|
|
39
|
+
|
|
40
|
+
### {option 1}
|
|
41
|
+
|
|
42
|
+
* Good, because {argument a}
|
|
43
|
+
* Good, because {argument b}
|
|
44
|
+
* Bad, because {argument c}
|
|
45
|
+
|
|
46
|
+
### {option 2}
|
|
47
|
+
|
|
48
|
+
* Good, because {argument a}
|
|
49
|
+
* Bad, because {argument b}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: guidelines-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates strict guidelines or best practices documentation.
|
|
5
|
+
Trigger: When user asks to document coding standards, naming conventions, or recommended workflows.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating guidelines"
|
|
12
|
+
trigger: "Define standard"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create Guidelines
|
|
17
|
+
|
|
18
|
+
Create a guideline when:
|
|
19
|
+
- Establishing a coding standard (e.g., Python style, React hooks usage).
|
|
20
|
+
- Defining a workflow (e.g., Git commit messages, PR process).
|
|
21
|
+
- Documenting best practices that are encouraged but not strictly enforced by linter.
|
|
22
|
+
|
|
23
|
+
## Guidelines Location
|
|
24
|
+
|
|
25
|
+
Guidelines are located in `.agent/docs/guidelines/`.
|
|
26
|
+
Format: `{topic-kebab-case}.md` (e.g., `python-style-guide.md`).
|
|
27
|
+
|
|
28
|
+
## Resources
|
|
29
|
+
|
|
30
|
+
- **Templates**: See [assets/](assets/) for GUIDELINE-TEMPLATE.md
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# {Guideline Title}
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
{Why is this guideline necessary? What goal does it support?}
|
|
5
|
+
|
|
6
|
+
## The Guideline
|
|
7
|
+
{Clear description of the practice or standard.}
|
|
8
|
+
|
|
9
|
+
## Examples
|
|
10
|
+
|
|
11
|
+
### ✅ Do This
|
|
12
|
+
```{language}
|
|
13
|
+
{Correct example}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### ❌ Don't Do This
|
|
17
|
+
```{language}
|
|
18
|
+
{Incorrect example}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Exceptions
|
|
22
|
+
{When does this guideline NOT apply?}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-docs-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates key product documentation (Vision, Architecture) using standard templates.
|
|
5
|
+
Trigger: When user asks to create, reset, or initialize product vision or architecture docs.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating product docs"
|
|
12
|
+
trigger: "Vision/Architecture"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create Product Docs
|
|
17
|
+
|
|
18
|
+
Use this skill when:
|
|
19
|
+
- Starting a new project or module.
|
|
20
|
+
- The `VISION.md` or `ARCHITECTURE.md` files are missing.
|
|
21
|
+
- You want to reset these documents to a standard structure.
|
|
22
|
+
|
|
23
|
+
## Document Types & Locations
|
|
24
|
+
|
|
25
|
+
| Type | File | Description |
|
|
26
|
+
|------|------|-------------|
|
|
27
|
+
| **Vision** | `.agent/docs/product/VISION.md` | Product goals, target audience, needs. |
|
|
28
|
+
| **Architecture** | `.agent/docs/product/ARCHITECTURE.md` | High-level system design, C4 context, stack. |
|
|
29
|
+
|
|
30
|
+
## Resources
|
|
31
|
+
|
|
32
|
+
- **Templates**: See [assets/](assets/) for VISION-TEMPLATE.md and ARCHITECTURE-TEMPLATE.md
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# System Architecture
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
{High-level description of the system}
|
|
5
|
+
|
|
6
|
+
## Component Diagram (C4 Context)
|
|
7
|
+
```mermaid
|
|
8
|
+
graph TD
|
|
9
|
+
User -->|Uses| System
|
|
10
|
+
System -->|Queries| Database
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Tech Stack
|
|
14
|
+
- **Frontend**: {React, Vue, etc.}
|
|
15
|
+
- **Backend**: {Python, Node, etc.}
|
|
16
|
+
- **Database**: {Postgres, Mongo, etc.}
|
|
17
|
+
- **Infra**: {Docker, K8s, AWS}
|
|
18
|
+
|
|
19
|
+
## Key Patterns
|
|
20
|
+
- {Event Sourcing, CQRS, MVC, etc.}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Product Vision
|
|
2
|
+
|
|
3
|
+
## Vision Statement
|
|
4
|
+
{Concise, aspiring statement of the future state}
|
|
5
|
+
|
|
6
|
+
## Target Group
|
|
7
|
+
{Who are the users and customers?}
|
|
8
|
+
|
|
9
|
+
## Needs
|
|
10
|
+
{What problem does the product solve? What benefit does it provide?}
|
|
11
|
+
|
|
12
|
+
## Product
|
|
13
|
+
{What product is it? What are the key features?}
|
|
14
|
+
|
|
15
|
+
## Business Goals
|
|
16
|
+
{How will the product benefit the company? Revenue, growth, etc.}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rules-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates new AI agent rules to enforce system constraints.
|
|
5
|
+
Trigger: When user asks to define a new constraint, policy, convention, or "always-on" rule.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating new rules"
|
|
12
|
+
trigger: "Add a rule"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create a Rule
|
|
17
|
+
|
|
18
|
+
Create a rule when:
|
|
19
|
+
- A pattern must be enforced across the entire project (or specific scopes)
|
|
20
|
+
- Security policies need to be explicitly documented for agents
|
|
21
|
+
- Code style conventions are strict and not just "best practices"
|
|
22
|
+
- There are "always-on" constraints that agents must never violate
|
|
23
|
+
|
|
24
|
+
**Don't create a rule when:**
|
|
25
|
+
- It's a suggestion or guideline (use `docs/guidelines/` instead)
|
|
26
|
+
- It's a temporary constraint
|
|
27
|
+
- It's specific to a single file (add a comment instead)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Rule Structure
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
.agent/rules/{rule-name}.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Rules are flat markdown files in `.agent/rules/`.
|
|
38
|
+
|
|
39
|
+
## Resources
|
|
40
|
+
|
|
41
|
+
- **Templates**: See [assets/](assets/) for RULE-TEMPLATE.md
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: {rule-name}
|
|
3
|
+
description: {Short description of the rule}
|
|
4
|
+
trigger: {When this rule applies e.g. "Always", "On Python files"}
|
|
5
|
+
scope: {Glob pattern e.g. "**/*.py", "src/legacy/**"}
|
|
6
|
+
priority: {High/Medium/Low}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The Rule
|
|
10
|
+
|
|
11
|
+
{Clear, imperative statement of what rules must be followed or what actions are forbidden.}
|
|
12
|
+
|
|
13
|
+
## Why
|
|
14
|
+
|
|
15
|
+
{Brief explanation of the reasoning behind this rule.}
|
|
16
|
+
|
|
17
|
+
## Valid Examples
|
|
18
|
+
|
|
19
|
+
### ✅ Do This
|
|
20
|
+
|
|
21
|
+
```{language}
|
|
22
|
+
{code example}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Invalid Examples
|
|
26
|
+
|
|
27
|
+
### ❌ Don't Do This
|
|
28
|
+
|
|
29
|
+
```{language}
|
|
30
|
+
{code example}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Exceptions
|
|
34
|
+
|
|
35
|
+
{List any exceptions to this rule, or "None".}
|
|
36
|
+
|
|
37
|
+
## Enforcement
|
|
38
|
+
|
|
39
|
+
{How this rule is enforced or verified.}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates new AI agent skills following the Agent Skills spec.
|
|
5
|
+
Trigger: When user asks to create a new skill, add agent instructions, or document patterns for AI.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating new skills"
|
|
12
|
+
trigger: "Create/Add a skill"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create a Skill
|
|
17
|
+
|
|
18
|
+
Create a skill when:
|
|
19
|
+
- A pattern is used repeatedly and AI needs guidance
|
|
20
|
+
- Project-specific conventions differ from generic best practices
|
|
21
|
+
- Complex workflows need step-by-step instructions
|
|
22
|
+
- Decision trees help AI choose the right approach
|
|
23
|
+
|
|
24
|
+
**Don't create a skill when:**
|
|
25
|
+
- Documentation already exists (create a reference instead)
|
|
26
|
+
- Pattern is trivial or self-explanatory
|
|
27
|
+
- It's a one-off task
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Skill Structure
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
skills/{skill-name}/
|
|
35
|
+
├── SKILL.md # Required - main skill file
|
|
36
|
+
├── assets/ # Optional - templates, schemas, examples
|
|
37
|
+
│ ├── template.py
|
|
38
|
+
│ └── schema.json
|
|
39
|
+
└── references/ # Optional - links to local docs
|
|
40
|
+
└── docs.md # Points to docs/developer-guide/*.mdx
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Naming Conventions
|
|
46
|
+
|
|
47
|
+
| Type | Pattern | Examples |
|
|
48
|
+
|------|---------|----------|
|
|
49
|
+
| Generic skill | `{technology}` | `pytest`, `playwright`, `typescript` |
|
|
50
|
+
| Project-specific | `project-{component}` | `project-api`, `project-ui` |
|
|
51
|
+
| Workflow skill | `{action}-{target}` | `skill-creator`, `jira-task` |
|
|
52
|
+
|
|
53
|
+
## Resources
|
|
54
|
+
|
|
55
|
+
- **Templates**: See [assets/](assets/) for SKILL.md template
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: {skill-name}
|
|
3
|
+
description: >
|
|
4
|
+
{Short description of what this skill does}
|
|
5
|
+
Trigger: {When should this skill be used?}
|
|
6
|
+
trigger: "{Short trigger phrase for AGENTS.md}"
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
metadata:
|
|
9
|
+
author: {github-url}
|
|
10
|
+
agent: {agent-name}
|
|
11
|
+
version: "1.0"
|
|
12
|
+
scope: [root]
|
|
13
|
+
auto_invoke: "{When should this skill be automatically invoked?}"
|
|
14
|
+
allowed-tools: {List, Of, Allowed, Tools, Or, *}
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
Use this skill when:
|
|
20
|
+
- {Condition 1}
|
|
21
|
+
- {Condition 2}
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Critical Patterns
|
|
26
|
+
|
|
27
|
+
{The MOST important rules - what AI MUST follow}
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Code Examples
|
|
32
|
+
|
|
33
|
+
### Example 1: {Description}
|
|
34
|
+
|
|
35
|
+
```{language}
|
|
36
|
+
{minimal, focused example}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Commands
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
{command 1} # {description}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Resources
|
|
50
|
+
|
|
51
|
+
- **Templates**: See [assets/](assets/) for {description of templates}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specs-creator
|
|
3
|
+
description: >
|
|
4
|
+
Creates new technical specifications and feature requirement documents.
|
|
5
|
+
Trigger: When user asks to create a new spec, feature doc, or technical requirement.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: ulkan
|
|
9
|
+
version: "1.0"
|
|
10
|
+
scope: [root]
|
|
11
|
+
auto_invoke: "Creating new specs"
|
|
12
|
+
trigger: "New feature spec"
|
|
13
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, Task
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Create a Spec
|
|
17
|
+
|
|
18
|
+
Create a spec when:
|
|
19
|
+
- Starting a new feature or component.
|
|
20
|
+
- Documenting complex technical requirements.
|
|
21
|
+
- Planning a major refactor or migration.
|
|
22
|
+
- The user requests a "spec" or "design doc".
|
|
23
|
+
|
|
24
|
+
## Spec Location
|
|
25
|
+
|
|
26
|
+
Specs are located in `.agent/docs/specs/{feature-name}/`.
|
|
27
|
+
Each spec should be a self-contained markdown file, e.g., `SPEC.md` or `{feature}-v1.md`.
|
|
28
|
+
|
|
29
|
+
## Resources
|
|
30
|
+
|
|
31
|
+
- **Templates**: See [assets/](assets/) for SPEC-TEMPLATE.md.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
feature: {feature-name}
|
|
3
|
+
status: {draft | in-progress | implemented | deprecated}
|
|
4
|
+
last_updated: {YYYY-MM-DD}
|
|
5
|
+
title: {Human Readable Title}
|
|
6
|
+
owner: {Team or Individual}
|
|
7
|
+
priority: {P0 | P1 | P2}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Background
|
|
11
|
+
|
|
12
|
+
{Context and problem statement. Why are we building this?}
|
|
13
|
+
|
|
14
|
+
## Requirements
|
|
15
|
+
|
|
16
|
+
### Functional
|
|
17
|
+
- {Requirement 1}
|
|
18
|
+
- {Requirement 2}
|
|
19
|
+
|
|
20
|
+
### Non-Functional
|
|
21
|
+
- {Performance, Security, Reliability}
|
|
22
|
+
|
|
23
|
+
## API Design
|
|
24
|
+
|
|
25
|
+
{Endpoints, data models, interfaces}
|
|
26
|
+
|
|
27
|
+
## UI/UX
|
|
28
|
+
|
|
29
|
+
{Screenshots, wireframes, or descriptions of user interaction}
|
|
30
|
+
|
|
31
|
+
## Open Questions
|
|
32
|
+
|
|
33
|
+
- {Question 1}
|