Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ vite.config.ts.timestamp-*

# AI agent tools
.agent-tools/
.claude/

# Core dump files
core
Expand Down
7 changes: 7 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# Extract commands from skills/ and generate command files
node bin/aidd.js --skills "$(git rev-parse --show-toplevel)"

# Stage generated skills and command files
git add 'skills/index.md' 2>/dev/null || true
git add 'ai/commands/*.md' 2>/dev/null || true

# Generate index.md files for ai/ folders
node bin/aidd.js --index "$(git rev-parse --show-toplevel)"

Expand Down
51 changes: 51 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,54 @@ If any conflicts are detected between a requested task and the vision document,
3. Ask the user to clarify how to resolve the conflict before proceeding

Never proceed with a task that contradicts the vision without explicit user approval.

## Agent Skills

AIDD includes reusable skills in the `skills/` directory following the [agentskills.io](https://agentskills.io) specification. These skills work with any compatible agent (Claude Code, Cursor, etc.).

### Available Skills

| Skill | Purpose |
|-------|---------|
| `aidd-discover` | Product discovery, user journeys, personas |
| `aidd-task` | Plan and break down epics into tasks |
| `aidd-execute` | Implement using TDD |
| `aidd-review` | Code review with security focus |
| `aidd-log` | Document changes to activity-log.md |
| `aidd-commit` | Conventional commit formatting |
| `aidd-user-test` | Generate human and AI test scripts |

### Setup for Claude Code

Claude Code doesn't natively support `AGENTS.md`. To enable AIDD:

```bash
# Copy or symlink AGENTS.md to CLAUDE.md
cp AGENTS.md CLAUDE.md
# or: ln -s AGENTS.md CLAUDE.md

# Symlink skills directory
mkdir -p .claude
ln -s ../skills .claude/skills
```

### Setup for Cursor

```bash
# Symlink skills directory (Cursor also discovers .claude/skills)
mkdir -p .cursor
ln -s ../skills .cursor/skills
```

### Manual Invocation

Primary commands invoke their corresponding skill:
- `/task` - Plan a new epic
- `/execute` - Implement with TDD
- `/review` - Code review
- `/discover` - Product discovery
- `/commit` - Conventional commits
- `/log` - Activity logging
- `/user-test` - Generate test scripts

For the complete command reference including sub-commands, see `skills/index.md`.
16 changes: 3 additions & 13 deletions ai/commands/commit.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
# Commit
# /commit

Act as a senior software engineer to commit changes to the repository in non-interactive modes ONLY, using the following template:
create a conventional commit for staged changes

"$type${[(scope)]}{[!]}: $description":where `[]` is optional and `!` is a breaking change

Types: fix|feat|chore|docs|refactor|test|perf|build|ci|style|revert|$other

Constraints {
When committing, don't log about logging in the commit message.
Use multiple -m flags, one for each log entry.
Limit the first commit message line length to 50 characters.
Use conventional commits with the supplied template.
Do NOT add new things to the CHANGELOG.md file.
}
Use the commit skill to create a conventional commit for staged changes.
9 changes: 3 additions & 6 deletions ai/commands/discover.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
## 🔍 Discover
# /discover

Use productmanager.mdc to discover a user journey, user story, or feature.
Enter interactive product discovery planning mode

Constraints {
Begin by reading the file and asking the user relevant questions to spark the discovery process.
Before beginning, read and respect the constraints in please.mdc.
}
Use the discover skill to enter interactive product discovery planning mode.
9 changes: 3 additions & 6 deletions ai/commands/execute.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
## ⚙️ Execute Task/Epic
# /execute

Use the task creator to execute a task epic.
implement code using TDD (red-green-refactor cycle)

Constraints {
Before beginning, read and respect the constraints in please.mdc.
Remember to use the TDD process if asked to implement code.
}
Use the execute skill to implement code using tdd (red-green-refactor cycle).
10 changes: 6 additions & 4 deletions ai/commands/help.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
## ❓ Help
# /help

List commands from please.mdc and report them to the user.
List available commands and their usage.

Read [skills/index.md](../../skills/index.md) for complete command reference and build help text from it.

Constraints {
Before beginning, read and respect the constraints in please.mdc.
Keep the response extremely concise - essentially just the list of commands, their descriptions, and options, without offering trivial details or informing users of constraints.
Before beginning, read and respect the constraints in @ai/rules/please.mdc.
Keep the response extremely concise - essentially just the list of commands, their descriptions, and options, without offering trivial details or informing users of constraints.
}
66 changes: 25 additions & 41 deletions ai/commands/index.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,50 @@
# commands
# AIDD Commands

This index provides an overview of the contents in this directory.
Primary workflow entry points. Each command activates its corresponding skill.

## Files
For complete command reference including sub-commands, see [skills/index.md](../../skills/index.md).

### Commit
## Commands

**File:** `commit.md`
### /commit

*No description available*
create a conventional commit for staged changes

### discover
**Skill:** [aidd-commit](../../skills/aidd-commit/SKILL.md)

**File:** `discover.md`
### /discover

*No description available*
Enter interactive product discovery planning mode

### execute
**Skill:** [aidd-discover](../../skills/aidd-discover/SKILL.md)

**File:** `execute.md`
### /execute

*No description available*
implement code using TDD (red-green-refactor cycle)

### help
**Skill:** [aidd-execute](../../skills/aidd-execute/SKILL.md)

**File:** `help.md`
### /log

*No description available*
log completed epics to activity-log.md

### log
**Skill:** [aidd-log](../../skills/aidd-log/SKILL.md)

**File:** `log.md`
### /review

*No description available*
conduct a thorough code review focusing on code quality, best practices, and adherence to project standards

### plan
**Skill:** [aidd-review](../../skills/aidd-review/SKILL.md)

**File:** `plan.md`
### /task

*No description available*
create a task/epic

### 🔬 Code Review
**Skill:** [aidd-task](../../skills/aidd-task/SKILL.md)

**File:** `review.md`
### /user-test

*No description available*
Generate human and agent scripts, save to $projectRoot/plan/

### run-test

**File:** `run-test.md`

*No description available*

### task

**File:** `task.md`

*No description available*

### user-test

**File:** `user-test.md`

*No description available*
**Skill:** [aidd-user-test](../../skills/aidd-user-test/SKILL.md)

7 changes: 4 additions & 3 deletions ai/commands/log.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
## 📝 Log
# /log

Use log.mdc to collect salient changes, and log them to the activity-log.md.
Before beginning, read and respect the constraints in please.mdc.
log completed epics to activity-log.md

Use the log skill to log completed epics to activity-log.md.
8 changes: 3 additions & 5 deletions ai/commands/review.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# 🔬 Code Review
# /review

use review.mdc to conduct a thorough code review focusing on code quality, best practices, and adherence to project standards.
conduct a thorough code review focusing on code quality, best practices, and adherence to project standards

Constraints {
Before beginning, read and respect the constraints in please.mdc.
}
Use the review skill to conduct a thorough code review focusing on code quality, best practices, and adherence to project standards.
11 changes: 0 additions & 11 deletions ai/commands/run-test.md

This file was deleted.

9 changes: 3 additions & 6 deletions ai/commands/task.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
## ✅ Task
# /task

Use the task creator to plan and execute a task epic.
create a task/epic

Constraints {
Before beginning, read and respect the constraints in please.mdc.
Remember to use the TDD process if asked to implement code.
}
Use the task skill to create a task/epic.
8 changes: 3 additions & 5 deletions ai/commands/user-test.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
## 🧪 User Test
# /user-test

Use @user-testing.mdc to generate human and AI agent test scripts from user journeys.
Generate human and agent scripts, save to $projectRoot/plan/

Constraints {
Before beginning, read and respect the constraints in please.mdc.
}
Use the user-test skill to generate human and agent scripts, save to $projectroot/plan/.
4 changes: 4 additions & 0 deletions ai/rules/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ See [`javascript/index.md`](./javascript/index.md) for contents.

See [`security/index.md`](./security/index.md) for contents.

### 📁 sudolang/

See [`sudolang/index.md`](./sudolang/index.md) for contents.

## Files

### Aiden Agent Orchestrator
Expand Down
12 changes: 12 additions & 0 deletions ai/rules/sudolang/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# sudolang

This index provides an overview of the contents in this directory.

## Files

### SudoLang Syntax

**File:** `sudolang-syntax.mdc`

A quick cheat sheet for SudoLang syntax.

37 changes: 18 additions & 19 deletions ai/rules/user-testing.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,44 +71,43 @@ describe("user-testing", () => {
});
});

test("references user-testing.mdc", async () => {
test("references user-test skill", async () => {
const filePath = path.join(__dirname, "../commands/user-test.md");
const content = await fs.readFile(filePath, "utf-8");

assert({
given: "user-test.md content",
should: "reference user-testing.mdc",
actual:
content.includes("@user-testing.mdc") ||
content.includes("user-testing.mdc"),
should: "reference user-test skill",
actual: content.includes("user-test skill"),
expected: true,
});
});
});

describe("run-test.md command", () => {
test("command file exists", async () => {
const filePath = path.join(__dirname, "../commands/run-test.md");
const exists = await fs.pathExists(filePath);
describe("/run-test sub-command", () => {
test("is documented in aidd-user-test skill", async () => {
const filePath = path.join(
__dirname,
"../../skills/aidd-user-test/SKILL.md",
);
const content = await fs.readFile(filePath, "utf-8");

assert({
given: "run-test.md command file",
should: "exist in ai/commands directory",
actual: exists,
given: "aidd-user-test skill content",
should: "include /run-test sub-command in Commands block",
actual: content.includes("/run-test"),
expected: true,
});
});

test("references user-testing.mdc", async () => {
const filePath = path.join(__dirname, "../commands/run-test.md");
test("is listed in skills index", async () => {
const filePath = path.join(__dirname, "../../skills/index.md");
const content = await fs.readFile(filePath, "utf-8");

assert({
given: "run-test.md content",
should: "reference user-testing.mdc",
actual:
content.includes("@user-testing.mdc") ||
content.includes("user-testing.mdc"),
given: "skills/index.md content",
should: "include /run-test command reference",
actual: content.includes("/run-test"),
expected: true,
});
});
Expand Down
Loading